Intergration d'une fonction à variable muette
Bonjour,
Je suis en train d'essayer d’intégrer une fonction dont la variable est muette mais je me retrouve bloquer. Ma fonction semble marcher mais j'ai comme réponse de Matlab Ans = []. C'est mon premier problème...
Le second est: lorsque je lance mon programme pour l'intégration de cette fonction ( dans un autre fichier donc) Matlab me renvoie cette erreur:
"??? Attempted to access y(1); index out of
bounds because numel(y)=0.
Error in ==> quadl at 74
if ~isfinite(y(1))
Error in ==> Temperature at 10
Tac=quadl(@(x) Fction,0,5);"
:weird:
Code de la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| function T=Fction(D,f,K,Po,z,r)
N=350;
set(0,'RecursionLimit',N)
persistent x
D=0.1*10^(-6);
f=0.05;
w=2*pi*f;
K=0.3;
Po=10^12;
Sigma=sqrt(i*(w/D));
z=0;
r =-0.0024:0.0001:0.0024;
for n=1:1:length(r);
T=(Po/(4*pi*K))*((exp((x^2+Sigma^2)*z)/(x^2+Sigma^2)).*((besselj(0,x*r(n))
end |
Dans mon autre fichier j'ai:
Code:
1 2 3 4 5 6 7
|
a1=0;
b=100;
r =-0.0024:0.0001:0.0024;
Tac=quadl(@(x) Fction,0,5);
figure(1)
plot(r,log(abs(Tac.*r)),'-k',r,unwrap(angle(Tac)),'-r') |
Pour information, je n'ai aucune idée de la valeur du x, cette variable me sers simplement à intégrer. De plus j'ai essayé d'intégrer grâce aux séries mais matlab ne supporte pas....
Avez vous une solution svp?
Merci d'avance!