Mathematica 1/0绘图时无限表达

时间:2016-11-05 22:59:11

标签: plot expression wolfram-mathematica infinite

J = 0.05;
B = 0.02;
Tload[t_] := 0.0;
R1 = 2;
\[Alpha] = 30*\[Pi]/180;
d = 0.05;
g = 0.001;
Nturns = 200;
\[Mu]0 = 4*\[Pi]*10^(-7);
r = 0.03;
lm = 0.02;
d = 0.1;
W = Sqrt[2*r^2 - 2*r^2*Cos[2*a]];
Rgmax = g/(\[Mu]0*r*d);
Rm = lm/(\[Mu]0*W*d);
square[x_, x1_, x2_] := UnitStep[x - x1]*(1 - UnitStep[x - x2])
Rg[\[Theta]_] := 
 Rgmax/((2 \[Alpha] - Mod[\[Theta][t], \[Pi]])*
     square[Mod[\[Theta][t], \[Pi]], -2 \[Alpha], 
      2 \[Alpha]] + (2 \[Alpha] - Mod[-\[Theta][t], \[Pi]])*
     square[Mod[-\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]])
L[\[Theta]_] := 
 Nturns^2/(
  2*Rg[\[Theta]] + 
   Rm) *(square[Mod[\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]] + 
    square[Mod[-\[Theta][t], \[Pi]], -2 \[Alpha], 2 \[Alpha]])
Plot[L[\[Theta]], {\[Theta][t], -8 \[Alpha], 8 \[Alpha]}, 
 PlotRange -> All]

我很抱歉,但我无法粘贴,因为mathematica可以显示(这里是新手)。然而,我尝试了几种解决方案来摆脱L0的1/0 inf表达,但我没有得到它。

请复制并粘贴到笔记本中并运行它。

我将Lθ乘以我的平方函数以使未定义的区域等于零(f.e 2a,Pi-2a应该为零作为其他区间)但是它不起作用。

如何正确识别此功能?

提前致谢。

1 个答案:

答案 0 :(得分:2)

此?

onunload

The plot

我所做的就是修复你的阿尔法和你的Theta [t]与Theta混淆。

Theta是一个变量,Theta [t]是一个函数。对此有一个复杂的解释,但这些并不一定是相同的东西,可能对Mathematica意味着非常不同的东西。你越远离Mathematica中非常传统的做事方式,你就会陷入更加混乱的漏洞,无法理解为什么它没有达到预期的效果。