我想ezplot
在 MATLAB 中使用,因为我要绘制的函数包含大量项,所以我可以将其拆分为更小的函数。让我举一个少数术语的例子,它可以推广到大量术语。要绘制函数:
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')
但是有一个错误。请告诉我如何纠正错误。是否可以使用此功能(将方程或函数拆分为多项)?
您的错误是由于尝试替换x+1
为y1
. ezplot
要求符号表达式是只有 2 个符号变量的函数。但是,在您对 的调用中有3 个符号变量(x
、y
和) :y1
ezplot
ezplot('y^2+x*y+x*y^3+y1');
如果您使用原始方程式,一切都应该正常:
ezplot('y^2+x*y+x*y^3+x+1');
编辑:如果你好奇......
如果您想绘制一个包含 3 个变量的方程,您首先需要为其中一个变量求解方程,然后使用该函数ezsurf
(这在我给另一个 SO 问题的答案中有所说明)。从技术上讲,它是您定义它的方式的因变量(因为它取决于变量)。但是,为了以下示例,我们假设它是一个自变量。方程: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');