utilisation de function handle
Bonjour,
je ne comprends pas ces programmes qui m'a été fourni par un collègue que je ne peux plus joindre aujourd'hui.
Ils font intervenir le symbole @ et je ne comprends pas son utilisation:
Voici les extraits concernés:
prog1.m :
Code:
1 2 3 4 5 6 7 8
|
K=12;R=6300;
rs=5;
thet=[pi/2:-0.1:pi/4];
yi=[rs,0];
options = odeset('RefTol',1e-4);
[thetas,rs]=ode45(@(thet,r) prog2(thet,r,K,R),thet,yini,options) |
Dans cet extrait de programme, tout est défini, sauf 'r' !!
prog2.m:
Code:
1 2 3 4 5 6 7
|
function f=prog2(thet,vector,K,R)
r=vector(1);
rp=vector(2);
rpp=(rp^2-r^2)*(2*r)
f=[rp rpp]'; |
ce dernier programme correspond à une équa diff, rp étant la dérivée première de r et rpp la seconde.
Ce qui me perturbe est l'appel dans prog1 de prog2 sans renseigner tous les inputs nécessaires à prog2 !!!
Et pourtant, ce programme fonctionne très bien.
J'aimerai le comprendre
Merci