求助mathematica程序问题,那个flux代表了什么?module那块是做什么用的?
Clear["Global`*"]
tu :=
E^(I \[CurlyPhi]) v1^2 ((0.` + 0.` I) +
v0 ((0.` + 16.` I) e^3 +
e^2 ((0.` - 24.` I) \[CurlyEpsilon]l - (0.` +
24.` I) \[CurlyEpsilon]u) + \[CurlyEpsilon]l ((0.` -
8.` I) \[CurlyEpsilon]l - (0.` +
8.` I) \[CurlyEpsilon]u) \[CurlyEpsilon]u + ((0.` +
0.5832` I) \[CurlyEpsilon]l + (0.` +
0.5832` I) \[CurlyEpsilon]u) \[CurlyPhi]^2 +
e ((0.` + 8.` I) \[CurlyEpsilon]l^2 + (0.` +
32.` I) \[CurlyEpsilon]l \[CurlyEpsilon]u + (0.` +
8.` I) \[CurlyEpsilon]u^2 - (0.` +
1.1664` I) \[CurlyPhi]^2)) Cos[\[CurlyPhi]/
2] Sin[\[Theta]])
Tu[en_,\[Phi]n_] := Module[{},
e := en;
\[CurlyPhi] := 2*Pi*\[Phi]n/4;
\[Theta] := ArcCos[- (((e - \[CurlyEpsilon]0)/v0)/2.0)];
t1 := tu;
Return[(t1)]
]
flux := .0
e := 0.
\[CurlyEpsilon]0 = 0.0
v0 = 1
\[CurlyEpsilon]u = 0.3
\[CurlyEpsilon]l = 0.3
v1 = 0.07
t1u[en_,\[Phi]n_] := Abs[Tu[en,\[Phi]n]]^2;
Plot[(Abs[Tu[e,flux]]^2),{e,-2,2},
PlotRange -> {{-2,2.},{0,1.1}},Axes -> False,Frame -> True,
FrameLabel -> {"\[CapitalPhi]/\[CapitalPhi]o","Tu"},
BaseStyle -> {"Times New Roman",14},
PlotStyle -> {AbsoluteThickness[2.8]}]
人气:167 ℃ 时间:2020-05-20 18:24:29
解答
……这个代码很有可能是机械移植自其他的语言,这个Module用的可谓毫无意义.原本在{}写上变量名的话,是可以让里面的变量局部化的,可是它留空了……对于那段完全可以剃成这样:
Tu[en_, \[Phi]n_] := (e := en;\[CurlyPhi] := 2*Pi*\[Phi]n/4;\[Theta] := ArcCos[-(((e - \[CurlyEpsilon]0)/v0)/2.0)];t1 := tu;t1)
当然其实还可以更简单,我懒得想了.
flux := .0嘛,自然就是flux为0咯,这种奇怪的写法显然也是移植的痕迹,在这里改成flux = 0也毫无问题.太感谢您了!还有请问Plot[(Abs[Tu[e, flux]]^2)这里面的flux就是作为常数么?如果我想改变flux的值,那就在之前那个奇葩的地方把flux=其他的数就可以了?如果我要是想画出来在某个flux的定值的情况下自变量为e,因变量为t1u,那么大概的方向是要如何改?没错。没错。你把Plot[Abs[Tu[e, flux]]^2)……改成Plot[t1u[e, flux]……就行了。
推荐
猜你喜欢
- 题,后做选择题、填空题
- stand up,give ,seat,happily造句,用过去式,
- 关于摩擦力,下列说法正确的是 a静止的物体不可能受到滑动摩擦力的作用 b运动的物体可以对别的物体施...
- 两块大小一样的正方体拼成长方体,长方体棱长总和是48CM,每块城防图体积是?(算式) 马上哦
- 比喻铭刻在心中扩句
- 请问打比方的句子具有什么特征?和比喻句有什么区别?
- 什么是经度,纬度?如何划分的?
- 英语阅读,