Effacer les filtres
Effacer les filtres

the loop is not converging it is giving me an infinite value(it is increasing)

1 vue (au cours des 30 derniers jours)
Mahmoud Chawki
Mahmoud Chawki le 20 Mai 2023
Déplacé(e) : Matt J le 20 Mai 2023
clear variables
close all
clc
A = [1 1 2; 1 2 4; 1 2 5];
x = [1; 2; 3];
Error = 0.00001;
Diff= 1;
while Diff>Error
x1=A*x;
Diff=norm(x1-x);
x=x1;
end
  1 commentaire
Mahmoud Chawki
Mahmoud Chawki le 20 Mai 2023
still not working still not working the answer is infinity for x and NAN for Diff

Connectez-vous pour commenter.

Réponses (1)

Torsten
Torsten le 20 Mai 2023
Déplacé(e) : Matt J le 20 Mai 2023
Why do you think your fixed-point iteration should converge ?
If the absolute values of the eigenvalues of A were all < 1, it would work. But it is not the case:
A = [1 1 2; 1 2 4; 1 2 5];
eig(A)
ans = 3×1
7.1842 0.5728 0.2430
  5 commentaires
Torsten
Torsten le 20 Mai 2023
Déplacé(e) : Matt J le 20 Mai 2023
What do you mean by "make it work" ? It works as you have programmed it and gives you the correct result for the matrix A and the initial vector x: Divergence.
Mahmoud Chawki
Mahmoud Chawki le 20 Mai 2023
Déplacé(e) : Matt J le 20 Mai 2023
i found the answer, i need to normalize the new vector before using it again. thank you

Connectez-vous pour commenter.

Catégories

En savoir plus sur Sparse Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by