Plot dispersion curves using Bloch theorem

10 visualizaciones (últimos 30 días)
Jungyun Lim
Jungyun Lim el 8 de Dic. de 2022
Comentada: Alan Stevens el 8 de Dic. de 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?

Respuesta aceptada

Alan Stevens
Alan Stevens el 8 de Dic. de 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 comentarios
Jungyun Lim
Jungyun Lim el 8 de Dic. de 2022
Thank you so much!
Do you happen to know why fimplicit does not result the same way?
Alan Stevens
Alan Stevens el 8 de Dic. de 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])

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by