Cell array and matrix operation

Hello, I have a 4*4 cell array that has a 10*10 matrix within each cell like below (let's call it C):
C=
And two 10*10 separate matrices let's say:
A=rand(10,10);
B=rand(10,10);
Using these 3 arguments, I want do an operation like below:
(A*C-B*C)/((C^2)*C*(1+(B/C)^2))^(1.5)
Basically, I want to consider each component of the cell (for example C{1} for the first attempt) and do this operation with the B and C for every 16 components of the cell in a repetitive manner. How can I perform this operation? I would appreciate it if someone could please help me. Thank you.

 采纳的回答

for ii=1:4
for jj=1:4
ANS{ii,jj} = (A*C{ii,jj}-B*C{ii,jj})/((C{ii,jj}.^2).*C{ii,jj}.*(1+(B./C{ii,jj}).^2)).^(1.5);
end
end

5 个评论

Thanks for your answer, but I tried this operation and the results are NaN:
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
Firt of all, the results depend on your C array data and whether you need to perform the matrix operation (1) or elementwise operation (2) e.g.:
%% (1) Matrix multiplication and division
for ii=1:4
for jj=1:4
ANS{ii,jj} = (A*C{ii,jj}-B*C{ii,jj})/((C{ii,jj}^2)*C{ii,jj}*(1+(B/C{ii,jj})^2))^(1.5);
end
end
vs.
%% (2) ELementwise multiplication and division
for ii=1:4
for jj=1:4
ANS{ii,jj} = (A.*C{ii,jj}-B.*C{ii,jj})/((C{ii,jj}.^2).*C{ii,jj}.*(1+(B./C{ii,jj}).^2)).^(1.5);
end
end
I just figured it out, thank you so much again.
I already did sir. Thank you.
You are most welcome! All the best!

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by