Plot dispersion curves using Bloch theorem
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jungyun Lim
le 8 Déc 2022
Commenté : Alan Stevens
le 8 Déc 2022
Hi,
I am trying to reproduce below dispersion curves. (dashed lines, not red)

Dispersion relation equation is as follow with mr = 0.125 and omegar=1

I used fimplicit function to plot this, but it seems it only gives me similar graph for the real portion as below.(with code)

m=0.125;
r=1;
syms x y
f=2*(1-cos(x))-(y)^2*(1+(m)/(1-((y)^2/(r)^2)))
fimplicit(f,[-2 2 0 2])
Any wisdom to plot this?
0 commentaires
Réponse acceptée
Alan Stevens
le 8 Déc 2022
Like this?
OmegaR = 1;
mR = 0.125;
Omega = 0:0.01:2.5;
mu = acos(1 - Omega.^2.*(1+mR./(1-Omega.^2/OmegaR^2))/2);
plot(imag(mu),Omega,'k--',real(mu),Omega,'k--')
2 commentaires
Alan Stevens
le 8 Déc 2022
fimplicit only deals with real numbers. Compare the folowing for example
fimplicit(@(x,y) x.^2+y.^2-1, [-1,1])
with
fimplicit(@(x,y) x.^2+y.^2+1, [-1,1])
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Calculus dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
