multiply/divide two cells array

25 ビュー (過去 30 日間)
shobhit mehrotra
shobhit mehrotra 2015 年 4 月 15 日
コメント済み: Renato Agurto 2015 年 4 月 15 日
I have two cell arrays that have the exact same amount of elements
A: cell 1: [2, 5, 8, 9]
cell 2: [ 5, 7, 3]
cell 3: [ 5, 3]
B: cell 1: [ 1 ,8, 6, 3]
cell 2: [ 4, 2, 7]
cell 3: [ 8, 9]
I want to multiply each element of A by B, (cell 1= [2 40 48 27] ) so I get a new cell array C
I have this
C= cellfun(@x, A(x)*B(x), 'UniformOutput',false)
Thanks!

採用された回答

Renato Agurto
Renato Agurto 2015 年 4 月 15 日
Hi, you need a 2 input function:
C= cellfun(@(x,y) x*y, A,B, 'UniformOutput',false)
Alternatively:
C = num2cell(cell2mat(A).*cell2mat(B))
I hope this helps
  2 件のコメント
Dishant Arora
Dishant Arora 2015 年 4 月 15 日
It should be a dot product:
C= cellfun(@(x,y) x.*y, A,B, 'UniformOutput',false)
Renato Agurto
Renato Agurto 2015 年 4 月 15 日
You'are right. I though it was a a cell array with single double elements.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by