mathematica作图问题需要绘制一系列点(x^2+y,y^2+x+1),其中x与y满足关系式sin(xy)+e^x=x+1; 显然X与Y是一个隐函数,没办法求出表达式,那请问这种图应该怎么画呢,
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/07 03:54:47
mathematica作图问题需要绘制一系列点(x^2+y,y^2+x+1),其中x与y满足关系式sin(xy)+e^x=x+1; 显然X与Y是一个隐函数,没办法求出表达式,那请问这种图应该怎么画呢,
mathematica作图问题
需要绘制一系列点(x^2+y,y^2+x+1),其中x与y满足关系式sin(xy)+e^x=x+1; 显然X与Y是一个隐函数,没办法求出表达式,那请问这种图应该怎么画呢,
mathematica作图问题需要绘制一系列点(x^2+y,y^2+x+1),其中x与y满足关系式sin(xy)+e^x=x+1; 显然X与Y是一个隐函数,没办法求出表达式,那请问这种图应该怎么画呢,
自己写一个函数,调用隐式函数画图过程中产生的数据点,然后转换成你要画的函数的数据点,隐式函数绘制的图像如下:
ContourPlot[Sin[x*y] + Exp[x] == x + 1, {x, -3, 3}, {y, -10, 10},
ContourStyle -> Red]
下面就是自己写的一个简单的函数来将上图中的数据点,转换成 {x^2+y,y^2+x+1},
constraintPlot[f_] :=
ReplaceAll[#,
GraphicsComplex[x_List, y_List, z : OptionsPattern[__]] :>
GraphicsComplex[f @@@ x, y, z]] &;
其中参数 f 就是你要的数据点满足的函数关系式,所以这里就应该是下面这两种可选形式
{#1^2 + #2, #2^2 + #1 + 1} &
或者,
Function[{x, y}, {x^2 + y, y^2 + x + 1}]
你要是不明白的话就看看 Mathematica 中关于纯函数的介绍和用法,在此不细说了,所以最终的函数图象就是下面的这个样子,
ContourPlot[Sin[x*y] + Exp[x] == x + 1, {x, -3, 3}, {y, -10, 10},
ContourStyle -> Red] // constraintPlot[{#1^2 + #2, #2^2 + #1 + 1} &]