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.

 Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 7 de Mzo. de 2013
Editada: Azzi Abdelmalek el 7 de Mzo. de 2013

1 voto

You are using sum as a variable, and as a function in
sum = sum+A(i,j)*X(j,1);
d = sum(Z);

Más respuestas (0)

Categorías

Más información sobre Customize Object Indexing en Centro de ayuda y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by