如何在MATLAB中使用ezplot?

时间:2009-07-24 17:54:42

标签: matlab plot

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

y2+xy+xy3+x+1=0

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

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

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

1 个答案:

答案 0 :(得分:10)

您的错误是由于尝试将x+1替换为y1而导致的。 ezplot要求符号表达式只是2个符号变量的函数。但是,在您对x的调用中有 3 符号变量(yy1ezplot):

ezplot('y^2+x*y+x*y^3+y1');

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

ezplot('y^2+x*y+x*y^3+x+1');

enter image description here


编辑:如果您感到好奇......

如果你想绘制一个包含3个变量的方程式,你首先需要求解其中一个变量的等式,然后使用函数ezsurf(我在this answer中给出{ {3}})。从技术上讲,y1是一个依赖变量,就像你定义它一样(因为它取决于变量x)。但是,为了下面的示例,我们假设它是一个独立的变量。等式:

y^2 + x*y + x*y^3 + y1 = 0

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

y1 = -y^2 - x*y - x*y^3

y1将按以下方式绘制:

ezsurf('-y^2-x*y-x*y^3');

another SO question