フィルターのクリア

Plot dispersion curves using Bloch theorem

20 ビュー (過去 30 日間)
Jungyun Lim
Jungyun Lim 2022 年 12 月 8 日
コメント済み: Alan Stevens 2022 年 12 月 8 日
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?

採用された回答

Alan Stevens
Alan Stevens 2022 年 12 月 8 日
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 件のコメント
Jungyun Lim
Jungyun Lim 2022 年 12 月 8 日
Thank you so much!
Do you happen to know why fimplicit does not result the same way?
Alan Stevens
Alan Stevens 2022 年 12 月 8 日
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])

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by