请问如何将我实现的这张图转化成书上的样子
mathematica吧
全部回复
仅看楼主
level 1
封钱器💯 楼主
就是使大于0的 \[Rho] 都减去180度。我尝试用 If 来实现但是没有作用。代码放2楼。
2022年04月30日 13点04分 1
level 1
封钱器💯 楼主
m = 50;
k = 2400;
c = 86;
\[Omega]0 = Sqrt[k/m];
n = c/(2 m);
\[Zeta] = n/\[Omega]0;
\[Eta] = \[Omega]/\[Omega]0;
H = (1 + 2 I \[Zeta] \[Eta])/((1 - \[Eta]^2) + 2 I \[Zeta] \[Eta]);
aH = Sqrt[(
1 + 4 \[Zeta]^2 \[Eta]^2)/((1 - \[Eta]^2)^2 + 4 \[Zeta]^2 \[Eta]^2)];
\[Rho] = ArcTan[
1 - (2 \[Zeta] \[Eta]^3)/((1 - \[Eta]^2) + 4 \[Zeta]^2 \[Eta]^2)]/
Degree;
If[\[Rho] >= 0, \[Rho] = \[Rho] - 180];
LogLinearPlot[20 Log[10, aH], {\[Omega], 10^0, 10^3},
GridLines -> Automatic]
LogLinearPlot[\[Rho], {\[Omega], 10^0, 10^3},
PlotRange -> {-180, 180}, GridLines -> Automatic]
Print[\[Omega]0, ";", \[Zeta]]
2022年04月30日 13点04分 2
level 1
封钱器💯 楼主
2022年04月30日 13点04分 3
吧务
level 15
目测是需要Tan的第2种语法:
\[Rho] = ArcTan[((1 - \[Eta]^2) +
4 \[Zeta]^2 \[Eta]^2), ((1 - \[Eta]^2) +
4 \[Zeta]^2 \[Eta]^2) - (2 \[Zeta] \[Eta]^3)]/Degree
2022年05月06日 16点05分 4
1