Bonjour à toutes et tous,
Je vous remercie par avance d'aider un ignorant comme moi.
Voila mon soucie, je crée une fonction donc je veux calculer une integrale grace à la fonction quad.
Le soucie c'est que ma fonction possède plusieurs variables et que je ne parviens pas à faire rentrer ces paramêtres dans la fonction quand j'appelle quad...
Voilà le script :
****************************** ***
function [n]=DRx(x,W,kW,C,Result)
n=real(W/(2*I*kW*C^2)*Result*exp(-I*x));
end
CCC=3e8;
for i=1:Npoint
WW=W(i);
kkk=kTHz(i);
RRR=Result1(i);
RR1(i)=quad('DRx(x,WW,kkk,CCC, RRR)',0,L);
end
****************************** **
Tout marche si je donne des valeurs numériques en lieu et place des paramètres WW,kkk,CCC,RRR. Mais je veux calculer Npoint intégral avec des paramètres différents.
Au début j'appeller directement RR1(i)=quad('DRx(x,W(i),kTHz(i ),c,Result1(i))',0,L); marchait pas alors j'ai fait le script pas jolie que je vous ai mis qui marche pas non plus. J'ai alors essayé en déclarant WW,kkk,CCC,RRR global ça change rien.
J'imagine que le fait que DRx soit entre guillemets fait qu'Octave pert les valeurs.
Comment passer des valeurs numériques à la fonction appellés dans quad ?
Comment pourrais-je contourner le problème ?
S'il vous plait je compte sur vous ce doit pas être très compliqué. Et c'est la dernière étape du calcul.
Merci d'avance,
P.S : Exemple plus simple
>> a=1
a = 1
>> quad('DRx(x,a,a,a,a)',0,1)
error: `a' undefined near line 1 column 41
error: evaluating argument list element number 2
error: evaluating assignment expression near line 1, column 33
error: called from `__quad_fcn__'
error: quad: evaluation of user-supplied function failed
>> quad('DRx(x,1,1,1,1)',0,1)
ans = -0.22985
-----