求助,各位大佬,程序中间有没有错误,现在的情况是没有办法出图
mathematica吧
全部回复
仅看楼主
level 2
伤CAT心 楼主
求助,各位大佬,程序中间有没有错误,现在的情况是没有办法出图
代码如下
中间要对特征值进行处理,最后画图,原本的问题是特征值排序的问题,我用了一位大佬解答的程序片段,现在的情况是没有办法出图,不清楚是哪里出了问题,结果是后面的图片
p = K0^2 \[Omega] - Ke^2 \[Omega] + Kf^2 \[Omega] -
Kv^2 \[Omega] + \[Epsilon] \[Omega]^2 - \[Omega]^3 -
2 Ke Kf Subscript[l, B] + 2 K0 Kv Subscript[l, B] + \[Epsilon]
\!\(\*SubsuperscriptBox[\(l\), \(B\), \(2\)]\) - \[Omega]
\!\(\*SubsuperscriptBox[\(l\), \(B\), \(2\)]\) + \[Omega]^2 Subscript[
w, A] + \!\(
\*SubsuperscriptBox[\(l\), \(B\), \(2\)]\
\*SubscriptBox[\(w\), \(A\)]\) - K0^2 Subscript[w, B] +
Ke^2 Subscript[w, B] - Kf^2 Subscript[w, B] +
Kv^2 Subscript[w, B] - 2 \[Epsilon] \[Omega] Subscript[w, B] +
2 \[Omega]^2 Subscript[w, B] -
2 \[Omega] Subscript[w, A] Subscript[w, B] + \[Epsilon]
\!\(\*SubsuperscriptBox[\(w\), \(B\), \(2\)]\) - \[Omega]
\!\(\*SubsuperscriptBox[\(w\), \(B\), \(2\)]\) + Subscript[w, A]
\!\(\*SubsuperscriptBox[\(w\), \(B\), \(2\)]\);
\[Omega]tsol = Solve[p == 0, \[Omega]];
\[Omega]1 = Evaluate[ \[Omega] /. \[Omega]tsol[[1]]];
Subscript[g, s] = (
2 Ke Kf -
2 K0 Kv - \[Epsilon] Subscript[l, B] + \[Omega]1 Subscript[l, B] -
Subscript[l, B] Subscript[w, A])/(\[Omega]1 - Subscript[w, B]);
K0 = 1; Kv = 1; Subscript[l, B] = 1.14; Subscript[w, B] = 1.97; Ke = \
0; Kf = 0; Subscript[w, 0] = 2 Subscript[w, B]/3;
Subscript[w, A] = 0;
matrix[\[Epsilon]_] = ( {
{Subscript[w, A] + \[Epsilon] + I*(Subscript[g, s]) , (K0 + Ke) +
I*(Kv + Kf)},
{ (K0 - Ke) + I*(Kv - Kf), Subscript[w, B] - I* Subscript[l, B]}
});
bb = Solve[Det[matrix[#] - \[Omega]*IdentityMatrix[2]] == 0, \[Omega]];
cc = \[Omega] /. bb;
AWlist = Range[-1, 1, 0.01];
dataRe = Map[Transpose@{AWlist, #} &,
Re@Transpose@Map[SortBy[cc, Re] &, AWlist]];
ListLinePlot[dataRe, PlotRange -> Full]
AWlist2 = Range[-1, 1, 0.01]; dataIm =
Map[Transpose@{AWlist2, #} &,
Im@Transpose@Map[SortBy[cc, Im] &, AWlist2]];
ListLinePlot[dataIm, PlotRange -> Full]
2024年11月25日 12点11分 1
level 9
bb = Solve[
Det[matrix[#] - \[Omega]*IdentityMatrix[2]] == 0, \[Omega]];
这段代码有错误
2024年11月25日 14点11分 2
我是可以正常输出的,看到了含参数#1的表达式,没有报错
2024年11月26日 01点11分
@伤CAT心 不报错又咋了,Plot[ax, {x, 0, 1}] 也不会报错啊。
2024年12月07日 04点12分
吧务
level 15
你的问题简化一下就是,下面这段代码错哪了?:
expr = Sin[#]
expr &[Pi/6]
答案请参看吧里精品区《为什么b=a; f[a_]:=b; f[2]不输出2?——说说显式存在的重要性》:
tieba.baidu.com/p/4886024974
2024年12月07日 04点12分 3
1