mathematica 循环语句我现在有一个方程f[x,y]需要在各自定义域内[-1,1]以0.05为步长求最大值然后得出取最大值时 x,y的值
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 19:43:04
![mathematica 循环语句我现在有一个方程f[x,y]需要在各自定义域内[-1,1]以0.05为步长求最大值然后得出取最大值时 x,y的值](/uploads/image/z/1638931-67-1.jpg?t=mathematica+%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5%E6%88%91%E7%8E%B0%E5%9C%A8%E6%9C%89%E4%B8%80%E4%B8%AA%E6%96%B9%E7%A8%8Bf%5Bx%2Cy%5D%E9%9C%80%E8%A6%81%E5%9C%A8%E5%90%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9F%9F%E5%86%85%5B-1%2C1%5D%E4%BB%A50.05%E4%B8%BA%E6%AD%A5%E9%95%BF%E6%B1%82%E6%9C%80%E5%A4%A7%E5%80%BC%E7%84%B6%E5%90%8E%E5%BE%97%E5%87%BA%E5%8F%96%E6%9C%80%E5%A4%A7%E5%80%BC%E6%97%B6+x%2Cy%E7%9A%84%E5%80%BC)
mathematica 循环语句我现在有一个方程f[x,y]需要在各自定义域内[-1,1]以0.05为步长求最大值然后得出取最大值时 x,y的值
mathematica 循环语句
我现在有一个方程f[x,y]
需要在各自定义域内[-1,1]以0.05为步长求最大值
然后得出取最大值时 x,y的值
mathematica 循环语句我现在有一个方程f[x,y]需要在各自定义域内[-1,1]以0.05为步长求最大值然后得出取最大值时 x,y的值
f[x_,y_] := x*Sin[x*y] - y*Exp[x+y] + x*y; (* 方程f[x,y] *)
h = 0.05; (* 步长 *)
x0 = -1;x1 = 1; (* x 定义域 *)
y0 = -1;y1 = 1; (* y 定义域 *)
mat = Table[f[x,y], {x, x0,x1, h}, {y, y0,y1, h}];
Max1 = Max[mat] (* 求最大值 *)
PositionMax1 = Position[mat, Max[mat]] (* 求最大值Position *)
xMax1 = x0 + h*(PositionMax1[[1,1]] - 1) (* 求最大值时 x 的值 *)
yMax1 = y0 + h*(PositionMax1[[1,2]] - 1) (* 求最大值时 y 的值 *)
f[xMax1,yMax1] (* 验算 *)
.
Clear["Global`*"]
h = 0.05; (* 步长 *)
x0 = -1;x1 = 1; (* x 定义域 *)
y0 = -1;y1 = 1; (* y 定义域 *)
mm = Rationalize[(x1 - x0)/h +1]
mat = Array[0 &, {mm, mm}];
f[x_,y_] := x*Sin[x*y] - y*Exp[x+y] + x*y; (* 方程f[x,y] *)
For[i = 1, i