< M A T L A B > Copyright 1984-2005 The MathWorks, Inc. Version 7.1.0.183 (R14) Service Pack 3 August 02, 2005 To get started, select MATLAB Help or Demos from the Help menu. >> % caso dei pesci >> format short >> n=3 n = 3 >> s=[0.2 0.4 0.8] s = 0.2000 0.4000 0.8000 >> m=[0 0.5 0.8 0.3] m = 0 0.5000 0.8000 0.3000 >> gamma=sum(m) gamma = 1.6000 >> a=[m;diag(s),zeros(n,1)] a = 0 0.5000 0.8000 0.3000 0.2000 0 0 0 0 0.4000 0 0 0 0 0.8000 0 >> b=a/gamma b = 0 0.3125 0.5000 0.1875 0.1250 0 0 0 0 0.2500 0 0 0 0 0.5000 0 >> % inizializziamo il calcolo dell'autovalore di massimo modulo col metodo delle potenze >> c=ones(n+1,1) c = 1 1 1 1 >> % sono richiesti 20 passi >> for k=1:20 c=b*(c/norm(c)); end >> % vediamo i risultati ottenuti, con maggior precisione >> format long >> % nostra stima dell'autovettore >> c c = 0.28362547436523 0.10596450267812 0.07919318595891 0.11833828187165 >> % nostra stima dell'autovalore >> norm(c) ans = 0.33458540792357 >> % vediamo quali sono gli autovalori >> w=eig(b) w = 0.33456977001977 -0.07109985906697 + 0.20115733617286i -0.07109985906697 - 0.20115733617286i -0.19237005188583 >> % calcoliamone i moduli >> for k=1:n+1 abs(w(k)) end ans = 0.33456977001977 ans = 0.21335290917985 ans = 0.21335290917985 ans = 0.19237005188583 >> % la differenza tra quello esatto e la nostra approssimazione: >> abs(w(1))-norm(c) ans = -1.563790380260111e-05 >>