matlab-全多元多项式函数图

matlab-全多元多项式函数图,matlab,polynomials,Matlab,Polynomials,嗨,我有一个关于两个变量的完整多项式函数的问题。我可以编写代码来计算它的值,但我不知道如何在0级绘制轮廓。例如:给定一个完整的五阶多项式 f(x,y)=θ1+θ2*x+θ3*y+θ4*x*y+θ5*x^2+θ6*y^2+…+θ20*x^5+θ21*y^5 我已经编写了计算给定θ,x和y的f(x,y)的代码,但是如何绘制这个函数呢 θ1+θ2*x+θ3*y+θ4*x*y+θ5*x^2+θ6*y^2+…+θ20*x^5+θ21*y^5=0 谢谢大家! 我将假设您的函数按元素取值。如果不是,则声明一个

嗨,我有一个关于两个变量的完整多项式函数的问题。我可以编写代码来计算它的值,但我不知道如何在0级绘制轮廓。例如:给定一个完整的五阶多项式

f(x,y)=θ1+θ2*x+θ3*y+θ4*x*y+θ5*x^2+θ6*y^2+…+θ20*x^5+θ21*y^5

我已经编写了计算给定θ,x和y的f(x,y)的代码,但是如何绘制这个函数呢

θ1+θ2*x+θ3*y+θ4*x*y+θ5*x^2+θ6*y^2+…+θ20*x^5+θ21*y^5=0


谢谢大家!

我将假设您的函数按元素取值。如果不是,则声明一个函数句柄,该句柄接受表示这些维度中的值的变量
x
y

f = @(x,y) theta1 + theta2*x + theta3*y + theta5*x.^2 + theta6*y.^2 + ... + theta24*x.^5 + theta25*y.^5;
(…您需要有那么多
theta
值吗?)。接下来,生成要绘制的
x
y
坐标域。您可以通过以下方式实现:

这将为两个维度生成一个坐标介于-10到10之间的
(x,y)
网格,步长为1

现在,使用上述函数生成
Z
坐标:

Z = f(X,Y);
现在您终于完成了,将函数与
X,Y
Z
一起使用。现在,如果您只想显示
f(x,y)=0的级别,您特别需要执行以下操作:

contour(X,Y,Z,[0 0]);

一般来说,第四个元素包含一个等高线向量,但如果你想特别绘制一个等高线,那就是你需要做的。

你可以尝试
ezcourt
并调整
caxis
来绘制0等高线。对我来说,这似乎更像是一个数学问题,而不是编程问题。二维函数与平面(在本例中,平面由x轴和y轴定义)的交点可以通过多种方式找到,无论是解析的、代数的还是数值的。非常感谢您的回答!是的,我需要所有的θ,因为它应该是一个有完整项的多项式。我还有一个问题:我需要画一个阶数从1到5的完整多项式函数。所以我想写一个函数来画一个多项式,它的输入是期望的阶数(就像我写的用来计算它的值的函数,但我不知道如何让它画出图)。我真的可以这样做吗?如果是,请给我一些提示。这将很困难,因为您需要知道生成了多少
theta
,以及给定顺序的实际
theta
参数本身,并且必须在创建句柄之前提供这些参数。您无法编写一个匿名函数来完成此操作。非常感谢。我想除了写下完整的函数,没有别的办法了。到时候见。
contour(X,Y,Z,[0 0]);