How to plot polynomial equation numerically?
Show older comments
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 Comments
James Tursa
on 31 Mar 2015
Edited: James Tursa
on 31 Mar 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
on 31 Mar 2015
James Tursa
on 31 Mar 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
on 31 Mar 2015
Answers (2)
Image Analyst
on 31 Mar 2015
0 votes
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
on 31 Mar 2015
0 votes
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.
Categories
Find more on Polynomials in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!