Write a program so that with help of 3 for-end loops we form a matrix C that will be equivalent to C= A*B - B*A

조회 수: 2 (최근 30일)
Let 2 matrices (A and B) be given in MatLab.Write a program so that with help of 3 for-end loops we form a matrix C that will be equivalent to C= A*B - B*A
  댓글 수: 3
Jan
Jan 2022년 4월 29일
편집: Jan 2022년 4월 29일
This is a homework question. As usual, post, what you have tried so far and ask a specific question concern the remaining Matlab problem.
The actual problem is interesting. You can avoid to calculate A*B and B*A explicitly.
@Jakub Devera: If A*B and B*A is mathematically defined, A and B must be square matrices.

댓글을 달려면 로그인하십시오.

답변 (2개)

Srija Kethiri
Srija Kethiri 2022년 5월 2일
Hi Iva,
From my understanding you want to to get a matrix C, where C = A*B - B*A. To get the matrix C it is possible only if A and B both are square matrices with same dimension.
The code for finding C is:
[c,d] = size(A);
[e,f] = size(B);
C = zeros(c,c);
if(c==d && e==f && c==e)
for i=1:c
for j=1:c
sum1 =0;
sum2 =0;
for p = 1:c
sum1 = sum1 + A(i,p)*B(p,j);
sum2 = sum2 +B(i,p)*A(p,j);
C(i,j) = sum1-sum2;
end
end
end
end
  댓글 수: 2
John D'Errico
John D'Errico 2022년 5월 2일
Please don't answer obvious homework assignment questions, when no effort was made or shown. This does not help the student. It only teaches them to post the rest of their homework on Answers, and that hurts the site.
Jan
Jan 2022년 5월 2일
I agree with John.
Your code overwrites C(i,j) in each iteration of the inner loop. One variable would be enough for the accumulation.

댓글을 달려면 로그인하십시오.


Matt J
Matt J 2022년 5월 2일
편집: Matt J 2022년 5월 2일
A=rand(4); B=rand(4); %synthetic input data
M={A,B;B,A};
mask=[1 1;1,-1];
for i=1:4
M{i}=mask(i)*M{i};
end
for i=1:2
M{i,1}=M{i,1}*M{i,2};
end
C=0;
for i=1:2
C=C+M{i};
end
C-(A*B-B*A)%Check the result
ans = 4×4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by