问题描述:

Im trying to plot the roots of a polynomial, and i just cant get it.

First i create my polynomial

p5 = [1 0 0 0 0 -1] %x^5 - 1

r5 = roots(p5)

stem (p5)

Im using the stem function, but I would like to remove the stems, and just get the circle around the roots.

Is this possible, is stem the right command?

Thanks in advance,

PS: This is not homework, but very close, will tag it if requested.

网友答案:

If you have complex roots that you want to plot with the real part on the x-axis and the imaginary part on the y-axis, you can just use the PLOT function:

plot(r5,'o');

If you are wanting to plot the function and the roots together, you will have to ignore the complex roots (as yuk mentions in the comment below):

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
相关阅读:
Top