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 个评论
回答(1 个)
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!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!