Why the code gives an error?

7 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Customize Object Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by