Hi, how to use nested for loops to multiply 2 matrices and make it work just like MATLAB operator? The function must work on matrices of any compatible size. I know what is nested for loops but in this case ,I dunno hw to apply it. Any help is much appreciated.Thanks.

回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2011 年 4 月 18 日

3 投票

most unwise variant
function C = yourmtimes(A,B)
[m,namb] = size(A);
n = size(B,2);
C = zeros(m,n);
for ii = 1:m
for jj = 1:n
c1 = 0;
for k = 1:namb
c1 = c1 + A(ii,k)*B(k,jj);
end
C(ii,jj) = c1;
end
end
more
m = size(A,1);
n = size(B,2);
C = zeros(m,n);
for ii = 1:m
for jj = 1:n
C(ii,jj) = sum(A(ii,:).*B(:,jj).');
end
end
or
m = size(A,1);
n = size(B,2);
C = zeros(m,n);
for ii = 1:m
for jj = 1:n
C(ii,jj) = A(ii,:)*B(:,jj);
end
end
or
m = size(A,1);
n = size(B,2);
C = zeros(m,n);
nones = ones(n,1);
for ii = 1:m
C(ii,:) = sum(A(ii*nones,:).'.*B);
end
etc.

1 件のコメント

Leon Barainsky
Leon Barainsky 2019 年 12 月 17 日
None of them work for me, could there be something wrong with my matlab settings?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2011 年 4 月 18 日

コメント済み:

2019 年 12 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by