plotting a polynomial function

1.105 views (last 30 days)
mohammad
mohammad on 14 Dec 2011
Commented: Brian Trease on 24 Nov 2020
How can I plot a polynomial function in MATLAB? for example:
89.9659+0.1110371T-0.001472155T^2+ 1.1E-5T^3-4.381E-8T^4+1E-10T^5

Accepted Answer

mohammad
mohammad on 18 Jun 2012
y_1 = @(x) -0.6729+4.8266*x-0.4855*x.^2+0.0312*x.^3
x_1 = 0:0.1:33.5;
plot(x_1,y_1(x_1))
  3 Comments
Morne' Breitenbach
Morne' Breitenbach on 5 Jun 2020
Sorry not German or Dutch, my surname is Afrikaanse. so I presume you ment "look here", we write it as "Kyk heir"(said Cake Hirr(like the i in his with a pronounced roll of the r). So the zero means that our number set begins at zero and ends at 33.5, and we get from zero to 33.5 by adding incraments of 0.1? Is this correct?

Sign in to comment.

More Answers (3)

Rubén Lumbiarres
Rubén Lumbiarres on 13 Sep 2018
Edited: Walter Roberson on 15 Sep 2018
x=-5:.1:5;
p=[1 -1 -11 9 18] % polynomial function
plot(x,polyval(p,x))
grid on
  1 Comment
Brian Trease
Brian Trease on 24 Nov 2020
Thanks!
I made it one step easier, with no need to specify spacing...
fplot(@(x) polyval(p,x), [-5 5])
grid on

Sign in to comment.


Fangjun Jiang
Fangjun Jiang on 14 Dec 2011
Of course ezplot(), but you need to fix your formula.
ezplot('89.9659+0.1110371*T-0.001472155*T^2+ 1.1E-5*T^3-4.381E-8*T^4+1E-10*T^5')
  1 Comment
mohammad
mohammad on 14 Dec 2011
Thanks Fangjun, how can I plot from T=100 to T=1000?
When I use xlim([100 1000]), It doesn't plot in this interval.

Sign in to comment.


Walter Roberson
Walter Roberson on 14 Dec 2011
You are asking to plot data that has a range of about 10^10 at one end, and about 10^20 at the other end. What are you expecting to see of interest?
T=linspace(100,1000,100);
p=89.9659+0.1110371*T-0.001472155*T.^2+ 1.1E-5*T.^3-4.381E-8*T.^4+1E-10*T.^5;
plot(T,p)
  2 Comments
Fangjun Jiang
Fangjun Jiang on 14 Dec 2011
No. Because you have small coefficients, the range of p is not from 10^2 to 10^20. The maximum value of p is around 7e4.
The point is, you can specify any range of T as you want, use linspace() or 100:100:1000, then use array power ".^" not the matrix power "^" to evaluate p, and then you can use plot().

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by