MATLAB Answers

Multiplication in cell arrays

3 views (last 30 days)
Behzad Navidi
Behzad Navidi on 12 Nov 2019
Answered: David Hill on 12 Nov 2019
Hey all, I have a cell (408*1), which has 408 rows of 33*33 array inside it. I attached this cell to this question (the name is precip(my_data).mat).
now I want to multiply a 408*1 double array to this cell. I attached this array too (the name numbers.mat).
so please help me to do multiply my file (numbers.mat) to my data (precip.mat). In the end I would like to have:
precip(my_data) * (numbers.mat) %each row multiplying to the same row from numbers
Thank you all in advance.

  0 Comments

Sign in to comment.

Accepted Answer

David Hill
David Hill on 12 Nov 2019
Or a simple loop.
for i=1:408
PRECTOTCORR{i}=PRECTOTCORR{i}*result(i);
end

  0 Comments

Sign in to comment.

More Answers (1)

Matt J
Matt J on 12 Nov 2019
Edited: Matt J on 12 Nov 2019
result = cat(3,precip{:}).*reshape(numbers,1,1,[]);
There seems little reason either for precip to be a cell array or to turn the result back into one. But if you must,
result=num2cell(result,[1,2]);

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by