mathematica 循环语句我现在有一个方程f[x,y]需要在各自定义域内[-1,1]以0.05为步长求最大值然后得出取最大值时 x,y的值
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/14 14:35:14
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