9
Ho la seguente funzione:MATLAB: come posso passare un parametro a una funzione?
function ypdiff = ypdiff(t,y)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*y(1)*y(2);
ypdiff(2) = b*y(1)*y(2)-b*y(2);
ypdiff(3) = b*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
Se voglio risolvere questo problema, vorrei richiamare la funzione ode45 come segue:
[t y] = ode45(@ypdiff, [to tf], yo);
Ma se voglio passare un parametro a questa funzione, come dovrei usare la funzione ode45? In particolare, sto cercando per la seguente formulazione:
function ypdiff = ypdiff(t,y,u)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*u*y(1)*y(2);
ypdiff(2) = b*u*y(1)*y(2)-b*y(2);
ypdiff(3) = b*u*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
Grandi ... Grazie mille .. Tuttavia , Non riuscivo a farlo funzionare finché non ho rimosso il carattere ':' – Legend
sì, quello era un errore di battitura, mi dispiace;) – catchmeifyoutry
Oh ... Grazie per il chiarimento :) – Legend