How do I correct the error "Matrix dimensions must agree"?

1 回表示 (過去 30 日間)
Ryan
Ryan 2021 年 6 月 8 日
コメント済み: Ryan 2021 年 6 月 9 日
I am using the following code, however, I keep getting a matrix dimensions must agree error. How would I correct this?
A = [1 0 0 0;1 0 1 0; 0 1 1 0; 0 1 0 1; 0 0 0 1];
b = [1; 3; 5; 7; 4];
x = [1; 3; 5; 7; 4];
N = 64;
theta = 3:3:180;
xLS = A\b;
k = [50,100,200,400,800];
X = kaczmarz(A,b,k);
e = zeros(length(k),1)
for i=1:length(k), e(i) = norm(x-X(:,i),inf); end
e
figure(2), semilogy(k,e)
e =
0
0
0
0
0
Matrix dimensions must agree.
  2 件のコメント
David Hill
David Hill 2021 年 6 月 8 日
Need to know the output of kaczmar()
Ryan
Ryan 2021 年 6 月 8 日
>> X = kaczmarz(A,b,k)
X =
1.0000 1.0000 1.0000 1.0000 1.0000
3.0000 3.0000 3.0000 3.0000 3.0000
2.0000 2.0000 2.0000 2.0000 2.0000
4.0000 4.0000 4.0000 4.0000 4.0000

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

採用された回答

David Hill
David Hill 2021 年 6 月 8 日
編集済み: David Hill 2021 年 6 月 8 日
Your problem is with the norm() function. You cannot subtract at 4x1 vector from a 5x1. Maybe you ment:
for i=1:length(k), e(i) = norm(x'-X(i,:),inf); end
  1 件のコメント
Ryan
Ryan 2021 年 6 月 9 日
Excellent! Thanks for that! All working now.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by