Why the code gives an error?

9 Ansichten (letzte 30 Tage)
Caped Crusader
Caped Crusader am 7 Mär. 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.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 7 Mär. 2013
Bearbeitet: Azzi Abdelmalek am 7 Mär. 2013
You are using sum as a variable, and as a function in
sum = sum+A(i,j)*X(j,1);
d = sum(Z);
  1 Kommentar
Caped Crusader
Caped Crusader am 7 Mär. 2013
Thanks, I failed to notice it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Customize Object Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by