How to plot polynomial equation numerically?
Mostrar comentarios más antiguos
I have a polynomial that I want to plot (x vs t) from t=0:0.01:1 for the following equation:
2*x*(1-x^-3)+sin(t)*(x-1)+3*sin(t)*(x-1)=0
Is there a simple way to do this?
4 comentarios
James Tursa
el 31 de Mzo. de 2015
Editada: James Tursa
el 31 de Mzo. de 2015
Do you mean you want to solve for the roots of the equation (in x) as a function of t? Also, you have x^-3 so strictly speaking this isn't a polynomial to begin with, although you can multiply through by x^3 to get one. (And then (x-1) will be a common factor to all terms that can be factored out giving one obvious root of x = 1)
Tony Earl
el 31 de Mzo. de 2015
James Tursa
el 31 de Mzo. de 2015
Why do you have sin(t)*(x-1) + 3*sin(t)*(x-1)? Isn't this just 4*sin(t)*(x-1) or is this a typo?
Tony Earl
el 31 de Mzo. de 2015
Respuestas (2)
Image Analyst
el 31 de Mzo. de 2015
0 votos
So how about making up 2 arrays, one for t and one for x, then create a 2D array with a double "for" loop - basically an image of the values - then use imshow() to display it? Use contour of thresholding to show where the function is above or below zero.
James Tursa
el 31 de Mzo. de 2015
0 votos
Using your latest equation I don't see any obvious simplifications. So maybe just multiply the whole thing by x^4 (to give you a polynomial in x), collect terms on powers of x, then write a loop over t=0:0.01:1 to evaluate the coefficient vector and feed this to the roots function to get your values. Then plot the results.
Categorías
Más información sobre Polynomials en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!