Dunque, devo risolvere un sistema non lineare di equazioni con il metodo di Newton-Raphson al variare di un parametro t (tempo); ho pensato di scrivere un metodo che disponga i vettori delle soluzioni come colonne di una matrice, per poi tracciarne i grafici con il comando plot.
Il listato è questo:
codice:
function T = newra(x0,eps,max_iter) 
T=zeros(61,8); 
i=1;
 t=0;
 f=fun(x0,t); 
norma_residui=norm(f);
 while(t<=6)&&(i<=61) 
k=0;
 while(norma_residui>eps)
 f=fun(x0,t);  
J=jac(x0,t); % Calcola la norma del vettore dei residui norma_residui=norm(f); 
 x=x0-J\f;
k=k+1; 
 if(k>max_iter) 
disp('no');
 disp(k); 
break, 
end 
 x0=x;
 end 
t=t+0.1;
 for j=1:8
 T(i,j)=x(j); 
end 
i=i+1; 
x0=x;
 end 
end
dove fun e jac sono metodi che sostituiscono rispettivamente al sistema di equazioni e alla matrice Jacobiana gli elementi del vettore x0 e il valore del tempo x.
Il risultato che ottengo è una matrice 61X8 (come deve essere) in cui però compare in tutte le colonne la stessa soluzione, quella con t=0. Come mai?