Octave / Matlab:如何绘制多项式的根

时间:2010-03-14 04:42:34

标签: math matlab octave

我试图绘制多项式的根,我只是无法得到它。

首先我创建我的多项式

p5 = [1 0 0 0 0 -1] %x^5 - 1
r5 = roots(p5)
stem (p5)

我正在使用stem函数,但我想删除词干,只是在根周围得到圆圈。

这是可能的,是干正确的命令吗?

提前致谢,

PS:这不是作业,但非常接近,如果要求将标记它。

1 个答案:

答案 0 :(得分:5)

如果您想要使用x轴上的实部和y轴上的虚部绘制复杂的根,则可以使用PLOT函数:

plot(r5,'o');

如果你想将函数绘制在一起,你将不得不忽略复杂的根(如下面的评论中提到的yuk):

p5 = [1 0 0 0 0 -1];
r5 = roots(p5);
realRoots = r5(isreal(r5));  %# Gets just the real roots
x = -2:0.01:2;               %# x values for the plot
plot(x,polyval(p5,x));       %# Evaluate the polynomial and plot it
hold on;                     %# Add to the existing plot
plot(realRoots,zeros(size(realRoots)),'o');  %# Plot circles for the roots