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.
0 个评论
采纳的回答
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 Center 和 File Exchange 中查找有关 Customize Object Indexing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!