求助!
mathematica吧
全部回复
仅看楼主
level 1
a = 0.001
x0 = 0
y0 = 0
z0 = -0.5
z = 0.1
\[Lambda] = 5*10^-7
k = 2*10^6
A = 1000
f[\[Xi]_, \[Eta]_, x_,
y_] := ((-(x0/Sqrt[z0^2 + x0^2 + y0^2]) - x/Sqrt[
z^2 + x^2 + y^2]) \[Xi] + (-(y0/Sqrt[z0^2 + x0^2 + y0^2]) - y/
Sqrt[z^2 + x^2 + y^2]) \[Eta] +
1/2*((1/Sqrt[z0^2 + x0^2 + y0^2] + 1/Sqrt[
z^2 + x^2 + y^2])*(\[Xi]^2 + \[Eta]^2) - (-(x0/Sqrt[
z0^2 + x0^2 + y0^2])*\[Xi] + -(y0/Sqrt[
z0^2 + x0^2 + y0^2])*\[Eta])^2/Sqrt[
z0^2 + x0^2 +
y0^2] - (x/Sqrt[z^2 + x^2 + y^2]*\[Xi] +
y/Sqrt[z^2 + x^2 + y^2]*\[Eta])^2/Sqrt[
z^2 + x^2 + y^2]))*(-I*A)/\[Lambda]*
Exp[I*k (Sqrt[z0^2 + x0^2 + y0^2] + Sqrt[z^2 + x^2 + y^2])]/(
Sqrt[z0^2 + x0^2 + y0^2] + Sqrt[z^2 + x^2 + y^2])
DensityPlot[
Re[Integrate[
Exp[I*k*f[\[Xi], \[Eta], x, y]], {\[Xi], -a, a}, {\[Eta], -a,
a}]]^2, {x, -0.05, 0.05}, {y, -0.05, 0.05},
ColorFunction -> "BlueGreenYellow"]
2018年03月02日 11点03分 1
level 1
我发了5遍总算不是系统删除了
我想用颜色分布图表示菲涅尔衍射的呈像屏上的光强分布
但是一直报错,求助于大家,希望得到建议
我是大一的学生,没有系统学过mathematica,见谅
2018年03月02日 11点03分 2
吧务
level 15
你好好检查下函数 f 的定义,十有八九有问题。然后,在
NIntegrate[Exp[I*k*f[\[Xi], \[Eta], 0, 0]], {\[Xi], -a, a}, {\[Eta], -a, a}]
能算出合理解之前,不要把式子往DensityPlot里塞。
要算得快请用Table加ArrayPlot的组合。
还有,我光学不熟,但是,如果这是圆孔衍射的话,请把轴对称性质用上,把问题化为1维。
2018年03月03日 03点03分 5
吧务
level 15
你好好检查下函数 f 的定义,十有八九有问题。然后,在
NIntegrate[Exp[I*k*f[\[Xi], \[Eta], 0, 0]], {\[Xi], -a, a}, {\[Eta], -a, a}]
能算出合理解之前,不要画图。
此外,小孔衍射图像的问题问的人是比较多的,建议你先搜搜贴吧知道的旧帖。
2018年03月03日 03点03分 6
1