Divide a cell arrays with a part of another cell array

2 ビュー (過去 30 日間)
gsourop
gsourop 2016 年 11 月 18 日
回答済み: Walter Roberson 2016 年 11 月 18 日
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.

採用された回答

James Tursa
James Tursa 2016 年 11 月 18 日
編集済み: James Tursa 2016 年 11 月 18 日
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.

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 11 月 18 日
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}

カテゴリ

Help Center および File ExchangeOperators and Elementary Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by