24小时热门版块排行榜    

查看: 161  |  回复: 0

silencezy

新虫 (初入文坛)

[求助] For中的If没有进行判断是为什么

a = 200;
b = 10;
u = 0.33;
ex = 2*10^5;
h = 2;
n = 1;
rn = n*Pi/a;
d = ex*h^3/(12 - 12*u^2)
l = b;
(*fx=4*Pi^2*d/(b^2)*)
\[Alpha] = Sqrt[rn*(rn + Sqrt[fx/d])];
\[Beta] = Sqrt[rn*(rn - Sqrt[fx/d])];
md1 = {{u*rn^2 - \[Alpha]^2,
    u*rn^2 - \[Beta]^2}, {\[Alpha]^3 + (u - 2)*\[Alpha]*
      rn^2, \[Beta]^3 + (u - 2)*\[Beta]*rn^2}};
md3 = {{u*rn^2 - \[Alpha]^2,
    u*rn^2 - \[Beta]^2}, {\[Alpha]^3 + (u - 2)*\[Alpha]*
      rn^2, \[Beta]^3 + (u - 2)*\[Beta]*rn^2}};
(*md2={{-1,-1,-1,-1},{\[Alpha],\[Beta],-\[Alpha],-\[Beta]},{-\[Alpha]^\
2+u*rn^2,u*rn^2-\[Beta]^2,\[Alpha]^2-u*rn^2,\[Beta]^2-u*rn^2},{\
\[Alpha]^3-\[Alpha]*rn^2,\[Beta]^3-\[Beta]*rn^2,\[Alpha]^3-rn^2*\
\[Alpha],-rn^2*\[Beta]+\[Beta]^3}};*)
ma1 = {{\[Alpha]^2 - u*rn^2, \[Beta]^2 -
     u*rn^2}, {\[Alpha]^3 + (u - 2)*\[Alpha]*
      rn^2, \[Beta]^3 + (u - 2)*\[Beta]*rn^2}};
ma3 = {{\[Alpha]^2 - u*rn^2, \[Beta]^2 -
     u*rn^2}, {\[Alpha]^3 + (u - 2)*\[Alpha]*
      rn^2, \[Beta]^3 + (u - 2)*\[Beta]*rn^2}};
(*ma2={{1,1,1,1},{\[Alpha],\[Beta],-\[Alpha],-\[Beta]},{-\[Alpha]^2+u*\
rn^2,-\[Beta]^2+u*rn^2,\[Alpha]^2-u*rn^2,\[Beta]^2-u*rn^2},{-rn^2*\
\[Alpha]+\[Alpha]^3,\[Beta]^3-\[Beta]*rn^2,-rn^2*\[Alpha]+\[Alpha]^3,\
\[Beta]^3-\[Beta]*rn^2}};*)
md = ArrayFlatten[{{md1, 0}, {0, md3}}];
ma = ArrayFlatten[{{ma1, 0}, {0, ma3}}];
mdni = Inverse[md];
ms = mdni.ma;
mp1 = {{-Exp[-\[Alpha]*l], 0, 0, 0}, {0, -Exp[-\[Beta]*l], 0, 0}, {0,
    0, -Exp[-\[Alpha]*l], 0}, {0, 0, 0, -Exp[-\[Beta]*l]}};
(*mp=ArrayFlatten[{{mp1,0},{0,mp1}}];*)
mu1 = {{0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}, {0, 1, 0, 0}};
(*mu=ArrayFlatten[{{mu1,0},{0,mu1}}];*)
mr = ms.mp1.mu1;
mf = IdentityMatrix[4] - mr;
df[x_] := Det[mf];
(*For[fx=24095.70,fx<24095.80,fx=fx+0.01,Print[fx];Print[Re[df[fx]]];\
Print[Im[df[fx]]];Print[Norm[df[fx]]]]*)
For[fx = 24050; fx2 = 24060; fd = 10, fd > 0.01,
If[Re[df[fx]]*Re[df[fx2]] > 0, fx = fx2,
  If[Im[df[fx]]*Im[df[fx2]] > 0, fx = fx2, fd = fd/10]];
fx2 = fx + fd, Print[fx]; Print[fx2]; Print[fd]]
fx
df[fx]
(*c1=Plot[Re[df[fx]],{fx,24095.7,24095.8},PlotStyle->RGBColor[1,0,0]]
c2=Plot[Im[df[fx]],{fx,24095.7,24095.8},PlotStyle->RGBColor[0,1,0]]*)

Clear["`*"]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 silencezy 的主题更新
信息提示
请填处理意见