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 中查找有关 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