【求助】如何画牛顿环干涉的动态图(不知道这样对不对)l =
mathematica吧
全部回复
仅看楼主
level 6
nirvanლ 楼主
【求助】如何画牛顿环干涉的动态图(不知道这样对不对)
l = 0.000000589; R = 1;
Manipulate[
DensityPlot[
4*Cos[(Pi (x^2 + y^2))/(l*R) + ((1 + b) Pi)/2]^2, {x, -0.00125,
0.00125}, {y, -0.00125, 0.00125},
ColorFunction -> ColorData["GrayTones"]], {b, 0, 5, 0.2}]
为什么这个图这么糊呢??
2020年03月01日 14点03分 1
吧务
level 10
设置DensityPlot的PlotPoints选项来改善分辨率,使用ListAnamate和Table代替Manipulate来避免动态计算对性能过高的要求
2020年03月01日 15点03分 2
非常感谢!!问题解决了[哈哈][哈哈]
2020年03月02日 07点03分
吧务
level 12
把PlotPoints调大点就不糊了,比如加个PlotPoints -> 30,不过这样会导致画图变慢,拖进度条改变b的时候会比较卡
想提速的话可以用Compile+ArrayPlot,比如这样
cf = With[{l = 0.000000589, R = 1, dx = 0.0025/400},
Compile[{{b, _Real}},
Table[
4*Cos[(Pi (x^2 + y^2))/(l*R) + ((1 + b) Pi)/2]^2, {x, -0.00125,
0.00125, dx},
{y, -0.00125, 0.00125, dx}]
]
];
Manipulate[ArrayPlot[cf[b]], {b, 0, 5, 0.2}]
2020年03月01日 15点03分 3
太感谢您的回复了!!问题已经解决了[大拇指][大拇指]
2020年03月02日 07点03分
1