Bonjour,

J'ai quelques petits problèmes avec la fonction ezplot,
en effet je cherche à tracer une fonction implicite et à peu près tous les sites/forums que j'ai pu trouver sur le net conseillent d'utiliser la fonction ezplot,
or j'ai l'impression que celle-ci n'est pas très précise..
Voici mon code et les screens associés pour illustrer mes propos:

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
%% Coefficients %%
E=60000;
eta=0.204;
rho=1550;
e=6;
 
lam= eta*E/(1+eta)/(1-2*eta);
mu=E/(2*(1+eta));
 
%% Vitesses de Phase %%
 
cp=((lam + 2*mu)/rho)^0.5;
cs=(mu/rho)^0.5;
 
%% Equation de Lamb %%
 
sym=@(x,y)(((1/cs^2-2./y.^2).^2)*cos(pi*x.*(1/cp^2-1./y.^2).^0.5)*sin(pi*x.*(1/cs^2-1./y.^2).^0.5)+(4./y)*sin(pi*x.*(1/cp^2-1./y.^2).^0.5)*cos(pi*x.*(1/cs^2-1./y.^2).^0.5)*(((1/cp.^2)-1/y.^2)*((1/cs.^2)-1/y.^2)).^0.5);
asym=@(x,y)((4./y)*(((1/cp.^2)-1/y.^2)*((1/cs.^2)-1/y.^2)).^0.5)*cos(pi*x.*(1/cp^2-1./y.^2).^0.5)*sin(pi*x.*(1/cs^2-1./y.^2).^0.5)+sin(pi*x.*(1/cp^2-1./y.^2).^0.5)*cos(pi*x.*(1/cs^2-1./y.^2).^0.5)*((1/cs^2-2./y.^2).^2);
 
%% Courbes de dispersion %%
 
hold on;
S = ezplot(sym,[0,10,0,10])
A = ezplot(asym,[0,10,0,10])
hold off;
 
set(A,'color','r','linestyle',':')
 title( 'courbe de dispersion' )
 xlabel('fréquence.épaisseur (MHz.mm)')
 ylabel('vitesse de phase (km.s-1)')
Nom : aaa.jpg
Affichages : 539
Taille : 98,5 Ko

L'image encadrée en noir est celle que j'obtiens avec ezplot (On remarque notamment la droite parasite y=4), et l'image de droite est celle que je devrais obtenir théoriquement..
Mon prof m'a dit que cela pouvait être dû à l'imprécision de ezplot lorsque celle ici effectue la coupe dans le plan du volume 3D,
que puis-je faire pour améliorer cela??

Merci de votre aide.