Plotting complex roots of polynomial

46 vues (au cours des 30 derniers jours)
Thomas Sun
Thomas Sun le 19 Mai 2020
Hi I need to plot of the roots of a polynomial in the complex plane. This is the code I have so far but it doesn't seem to be working.
z = -1:0.01:1;
p = z.^9 + z.^8 - z.^7 + z.^6 - z.^5 + z + 1;
plot(z,p)
hold on
r = roots(p);
scatter(real(r),imag(r))
hold off

Réponses (1)

David Goodmanson
David Goodmanson le 19 Mai 2020
Hi Thomas,
what the roots function is looking for is the coefficients of the powers of z in decreasing order. In this case that would be
r = roots([1 1 -1 1 -1 0 0 0 1 1])
This shows one real root at approximately -1.9, and eight complex roots. If you use
z = -2:0.01:1;
you can see the curve go through the real root.
  4 commentaires
Thomas Sun
Thomas Sun le 19 Mai 2020
Hi Dave
I tried your code but with it a graph for p doesnt even show up
David Goodmanson
David Goodmanson le 19 Mai 2020
what do you get for the sizes of z and p?
maybe if you tried 'close all' and put 'figure(1)' just before the plot command ....?

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by