我想在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')
但是有一个错误。请告诉我如何更正错误。是否可以使用此功能(将等式或函数分成若干项)?
答案 0 :(得分:10)
您的错误是由于尝试将x+1
替换为y1
而导致的。 ezplot
要求符号表达式只是2个符号变量的函数。但是,在您对x
的调用中有 3 符号变量(y
,y1
和ezplot
):
ezplot('y^2+x*y+x*y^3+y1');
如果您使用原始等式,一切都应该可以正常工作:
ezplot('y^2+x*y+x*y^3+x+1');
编辑:如果您感到好奇......
如果你想绘制一个包含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');