Borrar filtros
Borrar filtros

Divide a cell arrays with a part of another cell array

2 visualizaciones (últimos 30 días)
gsourop
gsourop el 18 de Nov. de 2016
Respondida: Walter Roberson el 18 de Nov. de 2016
Hi everyone,
I want to divide a cell array A, 2x100 with the last 100 elements of another cell array B 1x101.All of the elements of both cell arrays are scalars. I have tried
c=num2cell(cell2mat(A)./cell2mat(B{1,2:end}));
but it doesn't work. Thanks in advance.

Respuesta aceptada

James Tursa
James Tursa el 18 de Nov. de 2016
Editada: James Tursa el 18 de Nov. de 2016
Try this:
C = num2cell(bsxfun(@rdivide,cell2mat(A),cell2mat(B(1,2:end))));
Note that B{1,2:end} using the curly braces will be a comma-separated-list of the contents of B, whereas B(1,2:end) using parentheses will simply be another cell array.

Más respuestas (1)

Walter Roberson
Walter Roberson el 18 de Nov. de 2016
c = num2cell( cell2mat(A) ./ repmat( cell2mat(B(1,2:end)), size(A,1), 1) );
If you are using R2016b or later you can
c = num2cell( cell2mat(A) ./ cell2mat(B(1,2:end)) );
which is the same as what you had except it uses B(1,2:end) rather than B{1,2:end}

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by