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

2 views (last 30 days)
Ryan on 8 Jun 2021
Commented: Ryan on 9 Jun 2021
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 CommentsShowHide 1 older comment
Ryan on 8 Jun 2021
>> 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 on 8 Jun 2021
Edited: David Hill on 8 Jun 2021
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
Ryan on 9 Jun 2021
Excellent! Thanks for that! All working now.

R2020b

### Community Treasure Hunt

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

Start Hunting!