3

我想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')

但是有一个错误。请告诉我如何纠正错误。是否可以使用此功能(将方程或函数拆分为多项)?

4

1 回答 1

10

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

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

如果您使用原始方程式,一切都应该正常:

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

在此处输入图像描述


编辑:如果你好奇......

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

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');

在此处输入图像描述

于 2009-07-24T18:09:41.547 回答