MATLAB Answers

plotting a polynomial function

856 views (last 30 days)
mohammad
mohammad on 14 Dec 2011
Edited: Walter Roberson on 15 Sep 2018
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

  0 Comments

Sign in to comment.

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))

  0 Comments

Sign in to comment.

More Answers (3)

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

mohammad
mohammad on 14 Dec 2011
Walter, do you mean Because of being so great number (10^2 to 10^20 )it's impossible to see in range of 100 to 1000?
in this interval, value of function is between 0.95 to 0.98 .
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.


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

  0 Comments

Sign in to comment.

Sign in to answer this question.