MATLAB Answers

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

1 view (last 30 days)
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 Comments
Ryan Philips
Ryan Philips 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

Sign in to comment.

Accepted Answer

David Hill
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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!