Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

MATLAB ® ( část 2b – mnohočleny). Základní definice mnohočlenu (polynomu): Stačí napsat řádkový vektor popisující koeficienty polynomu: Polynomy = x 2.

Podobné prezentace


Prezentace na téma: "MATLAB ® ( část 2b – mnohočleny). Základní definice mnohočlenu (polynomu): Stačí napsat řádkový vektor popisující koeficienty polynomu: Polynomy = x 2."— Transkript prezentace:

1 MATLAB ® ( část 2b – mnohočleny)

2 Základní definice mnohočlenu (polynomu): Stačí napsat řádkový vektor popisující koeficienty polynomu: Polynomy = x 2 + 20x + 100 je v Matalbu definován vektorem koeficientů sestupně s mocninou nezávisle proměnné: Poly=[1 20 100] Mnohočleny

3 Pokud je polynom definován lze na něj aplikovat některou z funkcí: –výpočet kořenů: roots(Poly) koreny=roots(Poly) koreny=roots([1 20 100]) –zpětně koeficienty: Poly1=poly(koreny) (pokud bude mít nejvyšší koeficient > 1, pak je třeba výsledek násobit tímto koeficientem) –výpočet pro konkrétní hodnotu nezávislé proměnné (např. x=2): polyval(Poly,2) Např.: P=[2 10 -5];Q=[1 8 5] –násobení 2 polynomů P Q:Nasob=conv(P,Q) –dělení 2 polynomů P Q: Deleni=deconv(P,Q) –derivace polynomu: Der=polyder(Poly)

4 –nalezení koeficientů mnohočlenu stupně n, který aproximuje průběh metodou nejmenších čtverců, danný vektory x a y na osách nezávisle a závisle proměnných : p=polyfit(x,y,n) aj. Příklad: >> Poly=[1 20 100]; >> polyval(Poly,2) ans=144

5 Příklady: p(x)=4x 5 + 3.1x 3 – 7x 2 + 11 q(x)=-x 4 + x 3 – x p=[4 0 3.1 –7 0 11]; q=[-1 1 0 –1 0 ] vyčíslení polynomu p pro všechny hodnoty vektoru x: x=[-0.1 1 0.1 0.2] y=polyval(p,x) >>y = 10.9269 11.0000 10.9331 10.7461 násobení polynomů p a q: r=conv(p,q) >>r = -4.0 4.0 -3.1 6.1 –7. –14.1 18.0 0 –11 0 kořeny polynomu: r=roots(p)

6 >> r = -0.5124+1.4413i -0.5124-1.4413i 0.9727+0.5747i 0.9727-0.5747i -0.9207 Srovnání polynomiální a splinové interpolace:

7 % Proložení dat - bodů se souřadnicemi x,y (interpolace) x=[1:9] % zadání x-ových souřadnic bodů (vektoru) x y=[1:5,4:-1:1] % zadání y-ovýchsouřadnic bodů (vektoru) y xx=[1:0.05:9]; % body, ve kterých bude počítána aproximace y1=polyval(polyfit(x,y,1),xx); % body získané polyn.interpolací % (polynom 1. stupně) y2=polyval(polyfit(x,y,2),xx); % body získané polyn.interpolací % (polynom 2. stupně) y5=polyval(polyfit(x,y,5),xx); % body získané polyn.interpolací % (polynom 5. stupně) y9=polyval(polyfit(x,y,9),xx); % body získané polyn.interpolací % (polynom 9. stupně) % proložení polynomem 9. stupně je pro tento případ nevhodné yi=interp1(x,y,xx,'spline'); % body získané splinovou interpolací % vykreslení dvourozměrného grafu plot(x,y,'p',xx,y1,xx,y2,xx,y5,xx,y9,xx,yi) % legenda ke grafu legend('body','polynom 1.st (primka)','polynom 2.st (parabola)','polynom 5.st','polynom 9.st (nevhodne)','spline')

8


Stáhnout ppt "MATLAB ® ( část 2b – mnohočleny). Základní definice mnohočlenu (polynomu): Stačí napsat řádkový vektor popisující koeficienty polynomu: Polynomy = x 2."

Podobné prezentace


Reklamy Google