Октава / Matlab: Как построить корни многочлена - PullRequest
5 голосов
/ 14 марта 2010

Я пытаюсь построить корни многочлена, и я просто не могу его получить.

Сначала я создаю свой полином

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

Я использую функцию stem, но я бы хотел удалить стебли и просто обвести вокруг корней круг.

Возможно ли это, является ли ствол правильной командой?

Заранее спасибо,

PS: Это не домашнее задание, но очень близко, пометит его, если потребуется.

1 Ответ

5 голосов
/ 14 марта 2010

Если у вас есть сложные корни, которые вы хотите построить с реальной частью по оси x и мнимой частью по оси y, вы можете просто использовать функцию PLOT :

plot(r5,'o');

Если вы хотите построить вместе функции и корни, вам придется игнорировать сложные корни (как юк упоминает в комментарии ниже):

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
...