用Mathematica做费马原理说光从P点出发遇到镜子反射出来到Q点,光是沿着一条使光从P点走到Q点所用时间最少的路线.如果光在光学性能一致的介质中传播,当然意味着光所走的路线是总距离最短

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 23:52:15
用Mathematica做费马原理说光从P点出发遇到镜子反射出来到Q点,光是沿着一条使光从P点走到Q点所用时间最少的路线.如果光在光学性能一致的介质中传播,当然意味着光所走的路线是总距离最短

用Mathematica做费马原理说光从P点出发遇到镜子反射出来到Q点,光是沿着一条使光从P点走到Q点所用时间最少的路线.如果光在光学性能一致的介质中传播,当然意味着光所走的路线是总距离最短
用Mathematica做
费马原理说光从P点出发遇到镜子反射出来到Q点,光是沿着一条使光从P点走到Q点所用时间最少的路线.如果光在光学性能一致的介质中传播,当然意味着光所走的路线是总距离最短的那条路.如果镜子表面由函数f(x)的所给出,则费马原理说明光从P点到点(x,f(x))再从点(x,f(x))到点Q所走的距离达到最小值.
假设镜面是抛物线y=x^2,P点坐标(0,1),Q点坐标(1,5).用Mathematica来求解下列问题:
(1) 求反射点R.(在抛物线上,给出其坐标)
(2) 求出光从P点到R点,再从R点到Q点走过的路程.
(3) 画出反射点R在抛物线上的切线.
(4) 画草图显示光走过的路线.

用Mathematica做费马原理说光从P点出发遇到镜子反射出来到Q点,光是沿着一条使光从P点走到Q点所用时间最少的路线.如果光在光学性能一致的介质中传播,当然意味着光所走的路线是总距离最短
P = {0,1};
Q = {1,5};
x =.;
y =.;
R = {x,y};
sol = NMinimize[{Norm[P - R] + Norm[Q - R],y == x^2},{x,y}];
R = {x /.sol[[-1]],y /.sol[[-1]]};
Print["光走过的路程为" ToString@sol[[1]]]
Print["R坐标为" ToString@R]
Show[{
Plot[x^2,{x,-.5,2.5}],
Plot[(D[t^2,t] /.t -> R[[1]]) (x - R[[1]]) + R[[2]],{x,.5,2.5},
PlotStyle -> Directive[Gray]],
ListLinePlot[{P,R,Q},
PlotStyle -> Directive[Red]],
Graphics[{Text["P",P + {.3,0}],Text["Q",Q + {.3,0}],
Text["R",R + {.3,0}]}]},
AspectRatio -> Automatic
]
上面的就是所有程序了.强烈要求加分.