How to multiply a cell array with a matrix

6 次查看(过去 30 天)
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 个评论
Aryama Mandal
Aryama Mandal 2015-6-5
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 2025-3-3
Hi, can you please specify which verison of MATLAB did you use?

请先登录,再进行评论。

回答(1 个)

Aravind
Aravind 2025-3-3
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!

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by