Metodo di runge kutta
ciao a tutti, ho un problema con il metodo di runge-kutta, spero di essere nel posto giusto!
ho scritto il codice per un runge-kutta a 2 e 4 stadi e tutto fila...sulla base di quelli ho provato a scrivere il codice per il metodo generico ma non funziona e non riesco a capire cos'ho sbagliato!
Il codice è questo:
e il messaggio di errore mi compare nel calcolo di fxi:"Undefined function 'plus' for input arguments of type 'function_handle'."
grazie in anticipo!
ho scritto il codice per un runge-kutta a 2 e 4 stadi e tutto fila...sulla base di quelli ho provato a scrivere il codice per il metodo generico ma non funziona e non riesco a capire cos'ho sbagliato!
Il codice è questo:
function [tout,y]= rk_generico(A,b,c,f,y0,t0,tstar,options) %nstadi=numero stadi del metodo InitialStep = 0.05; if (nargin == 8) if (isfield(options,'InitialStep')) InitialStep = options.InitialStep; end end nstadi=length(b); k = InitialStep; tout(1)=t0; n=0; y(:,n+1) = y0; fxi = zeros(length(y0),nstadi); while (tout(n+1)<(t0+tstar)) n = n+1; k = min(k,(t0+tstar)-tout(n)); for i=1:nstadi temp=zeros(length(y0),1); for j=1:i-1 temp=temp+A(i,j)*fxi(:,j); end fxi(:,i)=f(tout(n)+c(i)*k,y(:,n)+k*temp); end y(:,n+1) = y(:,n); for i=1:nstadi y(:,n+1)=y(:,n+1)+ k*b(i)*fxi(:,i); end tout(n+1) = tout(n)+k; end
e il messaggio di errore mi compare nel calcolo di fxi:"Undefined function 'plus' for input arguments of type 'function_handle'."
grazie in anticipo!
Risposte
nessuno riesce ad aiutarmi?almeno dirmi se devo scrivere qualcos'altro, magari l'es su cui provarlo o i codici per 2 e 4 stadi!aiutatemi please, ho l'esame il 10 settembre e se non lo passo non mi laureo!