Borrar filtros
Borrar filtros

Multiply cell doubles with a matrix

3 visualizaciones (últimos 30 días)
Mori
Mori el 13 de Jul. de 2016
Comentada: Mori el 13 de Jul. de 2016
I have a cell array A which has 1*5 cell, each cell has 12*1 doubles.
How multiply those 12*1 doubles with a MATRIX call B with 12*500 ?
Thank you

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 13 de Jul. de 2016
Editada: Andrei Bobrov el 13 de Jul. de 2016
out = bsxfun(@times,permute(cell2mat(A),[1,3,2]),B); % out - 3D double array
or
out = cellfun(@(x)bsxfun(@times,x,B),A,'un',0); % here out - cell array (1 x 5)
  7 comentarios
Andrei Bobrov
Andrei Bobrov el 13 de Jul. de 2016
for your data (MatFiles.mat):
A1 = cellfun(@(x)[x{:}]',A,'un',0);
out = bsxfun(@times,permute(cell2mat(A1),[1,3,2]),B); % out - 3D double array
or
out = cellfun(@(x)bsxfun(@times,x,B),A1,'un',0); % here out - cell array (1 x 5)
Mori
Mori el 13 de Jul. de 2016
ok great, it works. I relay appreciate.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by