Why the code gives an error?

2 visualizzazioni (ultimi 30 giorni)
Caped Crusader
Caped Crusader il 7 Mar 2013
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.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 7 Mar 2013
Modificato: Azzi Abdelmalek il 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);

Più risposte (0)

Categorie

Scopri di più su Customize Object Indexing in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by