评论:Mathematica问题的正确页面是this one
我想想象Mathematica中一个盒子中的粒子的势阱,类似于维基百科here中的第二张图片。 我已经分段定义了我的功能
(*Length of the box*)
L = 4;
(*Infinitly deep potential well between 0 and L*)
V[x_] := Piecewise[{
{\[Infinity], x <= 0},
{0, 0 < x < L},
{\[Infinity], L <= x}}]
并希望获得一个绘图函数,该函数给出一个填充区域,其中势可能无穷大。
不幸的是,我的尝试最终出现在势能的“零区域”之间的阴影区域,而我希望在无限区域中有阴影。
Table[Plot[V[x], {x, -5, 10},
Filling -> f], {f, {Top, Bottom, Axis, 0.3}}]
答案 0 :(得分:2)
问题是Infinity
对于情节而言太过分了。所以,让我们给它一些其他大数字。但是为了防止它重新缩放y轴,我们需要特定于上面的绘图范围
Block[{\[Infinity] = 1*^1},
Plot[V[x], {x, -5, 10}, Filling -> Bottom,
PlotRange -> {Automatic, 1}]
]
或者你可以用V[x]/.\[Infinity]->1*^1
代替Block
,但我更喜欢Block
答案 1 :(得分:1)
只需给它值而不是无限:
(*Length of the box*)L = 4;
(*Infinitly deep potential well between 0 and L*)
V[x_] := Piecewise[{{1, x <= 0}, {0, 0 < x < L}, {1, L <= x}}]
Plot[V[x], {x, -5, 10}, Filling -> Bottom]
使用图形基元的另一种方法:
wellLeft = 0;
leftBorder = wellLeft - 1;
rightBorder = L + 1;
wellRight = L;
top = 5;
Graphics[{
Hue[0.67, 0.6, 0.6],
Opacity[0.2],
Rectangle[{leftBorder, 0}, {wellLeft, top}],
Rectangle[{wellRight, 0}, {rightBorder, top}]
}, Axes -> True]