Plot dispersion curves using Bloch theorem

32 views (last 30 days)
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)
syms x y
fimplicit(f,[-2 2 0 2])
Any wisdom to plot this?

Accepted Answer

Alan Stevens
Alan Stevens on 8 Dec 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);
Alan Stevens
Alan Stevens on 8 Dec 2022
fimplicit only deals with real numbers. Compare the folowing for example
fimplicit(@(x,y) x.^2+y.^2-1, [-1,1])
fimplicit(@(x,y) x.^2+y.^2+1, [-1,1])

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!