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);"
Code de la fonction :
Dans mon autre fichier j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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')
Avez vous une solution svp?
Merci d'avance!
Partager