How to multiply a cell array with a matrix

5 views (last 30 days)
Aryama Mandal
Aryama Mandal on 5 Jun 2015
Answered: Aravind on 3 Mar 2025
Ya I have a cell matrix example [1 0;1 0;0 1][0 1;0 1;1 0] and a matrix of 3*5. I want to multiply this cell matrix and the 3*5 matrix. How can I do this thing? What I have done is
for l1=1:ll
for j1=1:jj
for i1=1:ii
out=cellfun(@(y) y*w(i1,j1),x(i1,l1),'un',0)
tot = cellfun(@(y) sum(y(:)), out,'UniformOutput', false);
x1(i1,l1)= cellfun(@(y) sum(y(:)), x(i1,l1),'UniformOutput', false);
end
m(l1,j1)=cellfun(@rdivide,tot,x1(i1,l1),'UniformOutput',false)% avarege cell load
end
end
  4 Comments
Aryama Mandal
Aryama Mandal on 5 Jun 2015
Ya I have a cell matrix example [1 0;1 0;0 1][0 1;0 1;1 0] and a matrix of 3*5. I want to multiply this cell matrix and the 3*5 matrix.
Abhishek
Abhishek on 3 Mar 2025
Hi, can you please specify which verison of MATLAB did you use?

Sign in to comment.

Answers (1)

Aravind
Aravind on 3 Mar 2025
To convert a cell array into a regular array in MATLAB, you can use the "cell2mat" function. Once you have the regular array, you can multiply it with any matrix using the '*' operator for matrix multiplication.
Here's an example:
cellArray = {[1,0;0,1;1,1],[1,1;2,5;1,0]};
regularArray = rand(4,3); % Example matrix
productValue = cell2mat(cellArray) * regularArray; % Perform matrix multiplication
For more details on the "cell2mat" function, you can visit: https://www.mathworks.com/help/matlab/ref/cell2mat.html. Alternatively, you can view the documentation specific to your MATLAB version by entering the following command in the MATLAB command prompt:
doc cell2mat
I hope this helps!

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!