J'essaye de faire un programme dans scilab (heureusement il en va de même pour matlab) pour obtenir le temps où un vecteur stable est trouvé, je veux dire, après avoir fait plusieurs fois le vecteur produit et la matrice le résultat deviendra stable et ne changera pas.Stable vecteur de probabilités
Je pense que la meilleure façon de le faire est avec une fonction récursive donc je coder les éléments suivants:
function [R]=vector_stable(v,m,i)
V=v*m;
if(V == v) then
R=i;
abort;
else
vector_stable(V,m,i+1);
end
endfunction
Laissez-moi vous expliquer qu'un peu un peu, V est un produit de vecteur initial et la matrice, si le résultat est le même que le paramètre vectoriel puis doit renvoyer l'heure à laquelle cela s'est produit, sinon il appellera la même fonction avec le résultat comme premier paramètre. Cependant, j'obtiens l'erreur suivante
-->R=vector_stable(V,M,0)
!--error 18
: Too many names.
Est-ce que ma fonction est correcte? Pouvez-vous m'aider s'il vous plaît?
Je pense qu'il ya un moyen plus efficace d'utiliser la décomposition propre de la matrice, je ne suis pas sûr de savoir comment? Peut-être que vous pourriez ajouter la balise 'math' pour attirer les bonnes personnes :) – Amro
Calcul des vecteurs propres. Avec ou sans décomposition, ce qui n'est qu'un outil. – JohnB
Pouvez-vous poster un exemple de matrice et de vecteur? – Ansari