如何用Mathematica软件完成这一道简单的数学题????

海洋生物学家发现,当鲨鱼在海水中觉察到血液的存在时,就会沿着血液浓度增加得最快的方向前进去袭击目标,根据在海水中实际测试的结果,如果以流血目标处作为原点在海面上建立直角坐标系,则在海面上点P (x, y) 处的血液浓度近似等于
f(x)=exp(-((x^2+2y^2)/10^4)),作出鲨鱼袭击目标的前进轨迹(梯度线),你能否写出这个轨迹的函数表达式?

Clear[f];
f[x_, y_] = Exp[(-x^2 - 2*y^2)/10^4]
t1 = ContourPlot[f[x, y], {x, -1, 1}, {y, -1, 1}, PlotPoints -> 50,
ContourShading -> False]
fx[x_, y_] = D[f[x, y], x]
fy[x_, y_] = D[f[x, y], y]
a = 1; b = 1; lamda = 0.01;
Do[u = a + lamda*fx[a, b]/Sqrt[(fx[a, b])^2 + (fy[a, b])^2];
v = b + lamda*fy[a, b]/Sqrt[(fx[a, b])^2 + (fy[a, b])^2];
c[n] = u; d[n] = v; a = u; b = v, {n, 200}]
data = Table[{c[n], d[n]}, {n, 200}];
t2 = ListPlot[data]
Show[t1, t2]

老公加油!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-19
这道题不是,可以手算么,好像是一道例题用到偏微分,梯度。
相似回答