plotting a polynomial function

712 visualizzazioni (ultimi 30 giorni)
Modificato: Walter Roberson il 23 Ott 2023
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 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

Risposta accettata

Modificato: Walter Roberson il 23 Ott 2023
y_1 = @(x) -0.6729+4.8266*x-0.4855*x.^2+0.0312*x.^3
y_1 = function_handle with value:
@(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 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
madhan ravi il 4 Giu 2020
Guck mal hier Breitenbach:
doc colon
Morne' Breitenbach il 5 Giu 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?

Accedi per commentare.

Più risposte (5)

Rubén Lumbiarres il 13 Set 2018
Modificato: Walter Roberson il 15 Set 2018
x=-5:.1:5;
p=[1 -1 -11 9 18] % polynomial function
plot(x,polyval(p,x))
grid on
1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Brian Trease il 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

Accedi per commentare.

Fangjun Jiang il 14 Dic 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 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
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.

Accedi per commentare.

Walter Roberson il 14 Dic 2011
Modificato: Walter Roberson il 23 Ott 2023
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 CommentiMostra NessunoNascondi Nessuno
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 il 14 Dic 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().

Accedi per commentare.

Ch il 4 Set 2022
x=-5:.1:5;
p=[1 -1 -11 9 18] % polynomial function
p = 1×5
1 -1 -11 9 18
plot(x,polyval(p,x))
grid on
0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

Pink_panther il 23 Ott 2023
%solve1
fplot(@(x)89.9659+0.1110371.*x-0.001472155.*x.^2+1.1E-5.*x.^3-4.381E-8.*x.^4+1E-10.*x.^5)
0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

Categorie

Scopri di più su Polynomials in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by