如何在MATLAB中使用ezplot?

3 matlab plot

我想ezplot在MATLAB中使用,因为我想绘制的函数由大量术语组成,我可以将它分成更小的函数.让我举一个少数术语的例子,它可以推广到很多术语.绘制函数:

y2+xy+xy3+x+1=0
Run Code Online (Sandbox Code Playgroud)

我让y1=x+1我在MATLAB中写下以下内容:

x=[0:1:5]
y1=x+1
ezplot('y.^2+x*y+x*y.^3+y1')
Run Code Online (Sandbox Code Playgroud)

但是有一个错误.请告诉我如何更正错误.是否可以使用此功能(将等式或函数分成若干项)?

gno*_*ice 10

你的错误是试图取代导致x+1y1.ezplot要求符号表达式只是2个符号变量的函数.不过,也有3个符号变量(x,y,并y1在您的来电)ezplot:

ezplot('y^2+x*y+x*y^3+y1');
Run Code Online (Sandbox Code Playgroud)

如果您使用原始等式,一切都应该正常工作:

ezplot('y^2+x*y+x*y^3+x+1');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


编辑:万一你好奇......

如果你想绘制一个包含3个变量的方程式,你首先需要求解其中一个变量的方程,然后使用该函数ezsurf(这在我给另一个SO问题的答案中说明).从技术上讲,是一个变量,你定义它的方式(因为它取决于变量).但是,为了下面的例子,让我们假设它是一个独立的变量.等式:y1x

y^2 + x*y + x*y^3 + y1 = 0
Run Code Online (Sandbox Code Playgroud)

将解决y1以获得以下内容:

y1 = -y^2 - x*y - x*y^3
Run Code Online (Sandbox Code Playgroud)

并将y1按以下方式绘制:

ezsurf('-y^2-x*y-x*y^3');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述