Why the code gives an error?

Hi I am getting the following error in the code shown below:
function[X] = gauss_seidel(A,b)
N = length(b);
X = zeros(N,1);
err = 1;
while err>0.001
for i =1:1:N
sum = 0;
for j = 1:1:N
if j~=i
sum = sum+A(i,j)*X(j,1);
end
end
X(i,1) = (b(i,1)-sum)/A(i,i);
end
Z = A*X-b;
d = sum(Z);
err = abs(d);
end
and the error is:
>> gauss_seidel(A,b)
??? Subscript indices must either be real positive integers or logicals.
Error in ==> gauss_seidel at 16
d = sum(Z);
I don't know why this error is happening here.

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 7 Mar 2013
Edited: Azzi Abdelmalek on 7 Mar 2013
You are using sum as a variable, and as a function in
sum = sum+A(i,j)*X(j,1);
d = sum(Z);

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!