How to plot polynomial equation numerically?
显示 更早的评论
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 个评论
James Tursa
2015-3-31
编辑:James Tursa
2015-3-31
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
2015-3-31
James Tursa
2015-3-31
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
2015-3-31
回答(2 个)
Image Analyst
2015-3-31
0 个投票
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
2015-3-31
0 个投票
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Polynomials 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!