Jacobi method not working
Afficher commentaires plus anciens
Not sure what's wrong with my code. It does the first iteration correctly, then goes off in the wrong direction.
if true
% function x = Playing(A,b)
n = length(b);
x = zeros(1,n)';
y = x;
for k = 1:20
for i = 1:n
for j = 1:i-1,i+1:n
y(i) = y(i) + A(i,j)*x(j)
end
y(i) = (b(i) - y(i))/A(i,i)
end
end
end
end
Réponses (1)
Azzi Abdelmalek
le 9 Juil 2016
0 votes
What is this: for j = 1:i-1,i+1:n ?
Maybe you mean for j = [1:i-1,i+1:n]
2 commentaires
Joe Smith
le 9 Juil 2016
Azzi Abdelmalek
le 9 Juil 2016
for ii= 1:n
s=0
for jj = setdiff(1:n,ii)
s = s + A(ii,jj)*y(jj);
end
y(ii) = (b(ii) - s)/A(ii,ii);
end
and don't forget the initial guess y=ones(n,1) for example
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!