Baran Ágnes. Gyakorlat Numerikus matematika. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 79

Hasonló dokumentumok
Numerikus Matematika

Numerikus matematika

Numerikus matematika

Numerikus matematika vizsga

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Ipari matematika 2. gyakorlófeladatok

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek

Lineáris algebra numerikus módszerei

Legkisebb négyzetek módszere, Spline interpoláció

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

2 (j) f(x) dx = 1 arcsin(3x 2) + C. (d) A x + Bx + C 5x (2x 2 + 7) + Hx + I. 2 2x F x + G. x

MÉSZÁROS JÓZSEFNÉ, NUMERIKUS MÓDSZEREK

1 Lebegőpontos számábrázolás

Tartalomjegyzék 1 BEVEZETÉS 2

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

Matematika A2 vizsga mgeoldása június 4.

Matematika A1a Analízis

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Numerikus módszerek 1.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

3. Lineáris differenciálegyenletek

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Polinomok, Lagrange interpoláció

Kalkulus I. gyakorlat Fizika BSc I/1.

Baran Ágnes. Gyakorlat Komplex számok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 16

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

Függvények Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

MATLAB. 6. gyakorlat. Integrálás folytatás, gyakorlás

I. feladatsor. 9x x x 2 6x x 9x. 12x 9x2 3. 9x 2 + x. x(x + 3) 50 (d) f(x) = 8x + 4 x(x 2 25)

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

First Prev Next Last Go Back Full Screen Close Quit

1. Számsorok, hatványsorok, Taylor-sor, Fourier-sor

Többváltozós függvények Feladatok

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

1/1. Házi feladat. 1. Legyen p és q igaz vagy hamis matematikai kifejezés. Mutassuk meg, hogy

Példatár Lineáris algebra és többváltozós függvények

Interpolációs eljárások

Feladatok megoldásokkal az ötödik gyakorlathoz (Taylor polinom, szöveges szélsőérték problémák)

Példatár a bevezetés a Matlab programozásába tárgyhoz

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Numerikus integrálás április 20.

Numerikus módszerek 1.

Matematika III előadás

Függvények vizsgálata

GPK M1 (BME) Interpoláció / 16

Határozatlan integrál

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

DIFFERENCIÁLEGYENLETEK. BSc. Matematika II. BGRMA2HNND, BGRMA2HNNC

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Kétváltozós függvények differenciálszámítása

y + a y + b y = r(x),

Numerikus integrálás április 18.

Matematika I. NÉV:... FELADATOK: 2. Határozzuk meg az f(x) = 2x 3 + 2x 2 2x + 1 függvény szélsőértékeit a [ 2, 2] halmazon.

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

1.1. Feladatok. x 0 pontban! b) f(x) = 2x + 5, x 0 = 2. d) f(x) = 1 3x+4 = 1. e) f(x) = x 1. f) x 2 4x + 4 sin(x 2), x 0 = 2. általános pontban!

Numerikus módszerek beugró kérdések

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Hatványsorok, Fourier sorok

Feladatok a Diffrenciálegyenletek IV témakörhöz. 1. Határozzuk meg következő differenciálegyenletek általános megoldását a próba függvény módszerrel.

rank(a) == rank([a b])

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Baran Ágnes. Gyakorlat Komplex számok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 33

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

First Prev Next Last Go Back Full Screen Close Quit. (Derivált)

Numerikus integrálás

Gyakorlo feladatok a szobeli vizsgahoz

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Gyakorló feladatok I.

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

FELVÉTELI VIZSGA, szeptember 12.

First Prev Next Last Go Back Full Screen Close Quit

3D számítógépes geometria 2

Konjugált gradiens módszer

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

HÁZI FELADATOK. 1. félév. 1. konferencia A lineáris algebra alapjai

Differenciálegyenletek megoldása próbafüggvény-módszerrel

Matematika A1a Analízis

Matematika I. Vektorok, egyenesek, síkok

Differenciálszámítás. 8. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Differenciálszámítás p. 1/1

Nemlineáris programozás 2.

Széchenyi István Egyetem. Műszaki számítások. Matlab 5a. előadás. Numerikus deriválás és integrálás. Dr. Szörényi Miklós, Dr.

Numerikus módszerek 1.

Átírás:

Matematika Mérnököknek 1. Baran Ágnes Gyakorlat Numerikus matematika Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 1 / 79

Lebegőpontos számok Példa a = 2, t = 4, k = 3, k + = 2 esetén mi lesz a 0.1875 lebegőpontos alakja? Megoldás. 0. 1875 0 375 0 75 1 5 1 0 0.1875 10 = 0.0011 2 Normalizálás után: 2 2 0.1100 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 2 / 79

Példa a = 2, t = 4, k = 3, k + = 2 esetén mi lesz a 1 3 lebegőpontos alakja? Megoldás. 0. 3333... 0 6666... 1 3333... 0 6666... 1 3333..... 0.3333... 10 = 0.0101010... 2 Normalizálás után: 2 1 0.101010... Levágás esetén: 2 1 0.1010 Szabályos kerekítés esetén: 2 1 0.1011 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 3 / 79

Feladat *(a) a = 2, t = 4, k = 3, k + = 3 esetén mi lesz az alábbi számok lebegőpontos alakja? 0.9375, 0.1, 0.6, 1 32, 2.625, (b) Adott a, t, k és k + mellett írja fel a legnagyobb ábrazolható lebegőpontos számot (M ), a legkisebb pozitív normalizált ábrázolható számot (ε 0 ), illetve az 1 jobb- és baloldali szomszédját! (c) Adott a, t, k és k + mellett hány darab pozitív lebegőpontos szám írható fel? (d) a = 2, t = 4, k = 3, k + = 2 esetén ábrázolja számegyenesen az összes pozitív lebegőpontos számot! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 4 / 79

Feladat *(1) Olvassa el a Matlab eps függvényének help-jét. *(2) Vizsgálja meg számítógépén a 0.4 0.5+0.1 == 0 logikai kifejezés értékét! Mi lesz a 0.1 0.5+0.4 == 0 logikai kifejezés értéke? *(3) Legyen x = 1/3. Ciklusban futtassuk le negyvenszer az x = 4x 1 utasítást, ami elméletileg az x = 1/3 értéket adja vissza. Mit tapasztalunk a gyakorlatban? *(4) Vizsgálja meg számítógépén a 10 20 +1 == 10 20, 10 20 +10 == 10 20, 10 20 +100 == 10 20, 10 20 +1000 == 10 20 és 10 20 +10000 == 10 20 logikai kifejezések értékét! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 5 / 79

Feladat *(5) Az alábbi algoritmus elméletileg minden x 0 esetén az x eredeti értékét adja vissza. Vizsgálja meg mi történik a gyakorlatban, ha az algoritmust x = 1000, x = 100 kezdőértékkel futtatja! Mi az oka a tapasztalt jelenségnek? for i=1:60 x=sqrt(x); end for i=1:60 x=x^2; end e (6) Ismert, hogy lim x 1 x 0 x = 1. Számítsa ki Matlab-bal az ex 1 x hányados értékét egyre csökkenő x értékek esetén! (x = 1 kezdőértékkel x-et 40-szer, 200-szor, 2000-szer felezgetve írassa ki a kifejezés értékét!) Magyarázza meg a tapasztalt jelenséget! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 6 / 79

Feladat *(7) Oldja meg Matlab-bal az Ax = b lineáris egyenletrendszert, ha A = ( 1 0.99 0.99 0.98 ) ( 1.99, b = 1.97 ) ( 1.98. ill. b = 1.98 (8) Számítsa ki a 6 6-os Hilbert-mátrix kondíciószámát! (Használja a cond és hilb MATLAB-függvényeket!) Legyen B egy 6 6-os véletlen mátrix (használja a rand függvényt), számítsa ki B kondíciószámát is (végezzen több kísérletet)! ). Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 7 / 79

Feladat *(9) Álĺıtsa elő a következő A R 100 100 mátrixot és b R 100 vektort, és a backslash operátort használva oldja meg az Ax = b egyenletrendszert. Ezután perturbálja a b vektort, pl. 1 helyett legyen b(100) = 1.00001 és oldja meg a rendszert újra. Számítsa ki az A kondíciószámát. 1, ha i = j, a ij = 1, ha i < j, b = ( 98, 97,...,0,1) T. 0, egyébként, Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 8 / 79

Legkisebb négyzetes közeĺıtések, polinomiális modell Példa Határozzuk meg az alábbi adatokat legkisebb négyzetes értelemben legjobban közeĺıtő egyenest! t i 1 1.1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 f i 8 8.9 9 9.8 10 11 11.5 11.5 12.5 13 13.7 14 Megoldás. Használjuk a polyfit függvényt! p=polyfit(t,f,m) megadja a (t i,f i ) adatokra legkisebb négyzetes értelemben legjobban illeszkedő legfeljebb m-edfokú polinom együtthatóit a főegyütthatóval kezdve. >> t=[1 1.1 1.1:0.1:2]; >> f=[8 8.9 9 9.8 10 11 11.5 11.5 12.5 13 13.7 14]; >> p=polyfit(t,f,1) p= 5.8235 2.5338 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 9 / 79

A keresett egyenes egyenlete: f(t) = 5.8235t +2.5338 Ha ábrázolni szeretnénk az adatokat és az illesztett egyenest, akkor használhatjuk a refline függvényt. Ennek első argumentumaként az egyenes meredekségét, másodikként a konstanstagot kell megadni, azaz pontosan a p vektort: >> figure; plot(t,f,'*'); >> hold on; refline(p) Másik lehetőség (ami tetszőleges polinom esetén alkalmazható): >> xx=linspace(0.9,2.1); >> yy=polyval(p,xx); >> figure; plot(t,f,'*',xx,yy) A polyval függvény a p együtthatójú polinom értékeit adja az xx-ben adott helyeken. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 10 / 79

15 14 13 12 11 10 9 8 7 0.8 1 1.2 1.4 1.6 1.8 2 2.2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 11 / 79

*Feladat Határozzuk meg az alábbi adatokat legkisebb négyzetes értelemben legjobban közeĺıtő másodfokú polinomot! t i 2.1 2.2 2.3 2.3 2.5 2.6 2.8 2.9 f i 2.5 2 2.5 2.7 3 4 5.4 7 9 8 7 6 5 4 3 2 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 12 / 79

Legkisebb négyzetes közeĺıtések Példa Határozzuk meg az alábbi adatokat legkisebb négyzetes értelemben legjobban közeĺıtő alakú modell paramétereit! F(t) = x 1 +x 2 cos(πt)+x 3 sin(πt) t i 0.1 0.5 1.2 1.5 2 2.1 2.4 3 3.2 f i 3.9 2.6-0.8 0.3 3.2 3.8 3.2-0.7-0.9 Megoldás. A paramétereket az A T Ax = A T f Gauss-féle normálegyenlet megoldása szolgáltatja. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 13 / 79

ahol A = 1 cos(πt 1 ) sin(πt 1 ) 1 cos(πt 2 ) sin(πt 2 ). 1 cos(πt 9 ) sin(πt 9 ) A T Ax = A T f, f = f 1 f 2. f 9, x = x 1 x 2 x 3 Álĺıtsuk elő a megadott adatokból az A mátrixot: >> t=[0.1 0.5 1.2 1.5 2 2.1 2.4 3 3.2]'; >> f=[3.9 2.6-0.8 0.3 3.2 3.8 3.2-0.7-0.9]'; >> A=[ones(9,1), cos(pi*t), sin(pi*t)]; Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 14 / 79

Oldjuk meg a normálegyenletet! >> x=(a'*a)\(a'*f) x = 1.4372 2.0310 1.1711 A legjobban illeszkedő adott alakú modell tehát: F(t) = 1.4372+2.0310cos(πt)+1.1711sin(πt) Ábrázoljuk az adatokat és az illesztett modellt! >> xx=linspace(0,3.3); >> yy=x(1)+x(2)*cos(pi*xx)+x(3)*sin(pi*xx); >> plot(t,f,'*',xx,yy) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 15 / 79

t=[0.1 0.5 1.2 1.5 2 2.1 2.4 3 3.2]'; f=[3.9 2.6-0.8 0.3 3.2 3.8 3.2-0.7-0.9]'; A=[ones(9,1), cos(pi*t), sin(pi*t)]; x=(a'*a)\(a'*f); xx=linspace(0,3.3); yy=x(1)+x(2)*cos(pi*xx)+x(3)*sin(pi*xx); plot(t,f,'*',xx,yy) 4 3.5 3 2.5 2 1.5 1 0.5 0-0.5-1 0 0.5 1 1.5 2 2.5 3 3.5 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 16 / 79

Feladatok *(1) Határozza meg az alábbi adatokat négyzetesen legjobban közeĺıtő egyenes egyenletét! t i 1 1.2 1.4 1.4 1.5 1.7 1.9 2 f i 6.2 7 8 7.9 8.4 9.2 10 10.6 *(2) Határozza meg az alábbi adatokat négyzetesen legjobban közeĺıtő harmadfokú polinomot! t i 0.5 0.8 1.1 1.3 1.5 1.7 1.9 2.1 2.3 f i 2.5 2.3 1.8 1.3 0.9 0.4 0.1-0.05-0.01 *(3) Határozza meg az alábbi adatokat legjobban közeĺıtő F(t) = a+ b t alakú modell paramétereit! t i 1 1.2 1.4 1.4 1.5 1.7 1.9 2 2.1 2.2 f i 4.2 3.8 3.4 3.3 3.3 3 2.8 2.8 2.75 2.7 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 17 / 79

Feladatok *(4) Határozza meg az alábbi adatokat négyzetesen legjobban közeĺıtő alakú modell paramétereit! F(t) = x 1 sin(t)+x 2 sin(2t)+x 3 sin(3t) t i 0.1 0.5 1.2 1.5 2 2.1 2.4 3 3.2 3.4 3.8 4 4.2 4.6 5 f i 1 4.1 3 1-1.5-1.6-1.7-0.4 0.1 0.7 1.6 1.8 1.6 0.2-2.5 (5) Határozza meg az alábbi adatokat négyzetesen legjobban közeĺıtő alakú modell paramétereit! F(t) = x 1 +x 2 ln(t) t i 0.1 0.5 1.2 1.5 2 2.1 2.4 3 3.2 f i -0.6 1.5 2.5 2.9 3.2 3.3 3.5 3.8 3.9 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 18 / 79

Lagrange-interpoláció Példa Határozzuk meg a ( 2, 5),( 1,3),(0,1),(2,15) pontokra illeszkedő minimális fokszámú polinomot! Megoldás. Készítsük el az osztott differenciák táblázatát! Az első két oszlopba az alappontok és a megfelelő függvényértékek kerülnek: 2 5 1 3 0 1 2 15 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 19 / 79

Számítsuk ki az elsőrendű osztott differenciákat! 2 5 1 3 0 1 2 15 3 ( 5) 1 ( 2) = 8 1 3 0 ( 1) = 2 15 1 2 0 = 7 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 20 / 79

Számítsuk ki a másodrendű osztott differenciákat! 2 5 8 2 8 1 3 0 ( 2) = 5 2 7 ( 2) 0 1 2 ( 1) = 3 7 2 15 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 21 / 79

Számítsuk ki a harmadrendű osztott differenciát! 2 5 8 1 3 5 2 0 1 3 7 2 15 3 ( 5) 2 ( 2) = 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 22 / 79

A táblázat felső élét használva írjuk fel a polinomot! 2 5 8 1 3 5 2 2 0 1 3 7 2 15 L 3 (x) = 5+8(x +2) 5(x +2)(x +1)+2(x +2)(x +1)x Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 23 / 79

Megj.: A Lagrange-polinom nem függ az adatok sorrendjétől, így választhattuk volna a táblázat alsó élét is: 2 5 8 1 3 5 2 2 0 1 3 7 2 15 L 3 (x) = 15+7(x 2)+3(x 2)x +2(x 2)x(x +1) Mindkét esetben L 3 (x) = 2x 3 +x 2 3x +1 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 24 / 79

Feladat (1) Írja fel az alábbi pontokra illeszkedő minimális fokszámú polinomot! *(a) ( 3, 6), ( 2, 17), ( 1, 8), (1, 2), (2,19), *(b) ( 3, 31), ( 2, 8), (1,1), (2,22), (c) ( 2, 13), ( 1, 4), (1,2), (d) ( 2, 5), ( 1,3), (0,1), (2,15), (e) ( 1,4), (1,2), (2,10), (3,40), (f) ( 2,38), ( 1,5), (1, 1), (2, 10), (3, 7), (g) ( 2, 33), ( 1, 2), (1,6), (2,7), (3, 18), (h) ( 3, 209), ( 2, 43), ( 1, 1), (1, 1), (2, 19). (2) Határozzuk meg a ( 2, 6), (0,4), (1, 3), (2, 10) pontokra illeszkedő minimális fokszámú polinomot! Határozzuk meg azt a minimális fokszámú polinomot, amely az előző pontokon kívül áthalad a ( 1,2) ponton is! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 25 / 79

Lagrange-interpoláció Matlab-bal A polyfit függvény polyfit(x,f,n-1) Ha x és f n-elemű vektorok, akkor megadja annak a legfeljebb (n 1)-edfokú polinomnak az együtthatóit, amely illeszkedik az (x i,f i ), i = 1,...,n adatokra. Példa Határozzuk meg Matlab-bal a ( 2, 5),( 1,3),(0,1),(2,15) pontokra illeszkedő minimális fokszámú polinomot! Megoldás. >>x=[-2, -1, 0, 2]; >>f=[-5, 3, 1, 15]; >>p=polyfit(x,f,3) p= 2.0000 1.0000-3.0000 1.0000 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 26 / 79

Ábrázoljuk a pontokat és az illesztett függvényt! x=[-2, -1, 0, 2]; f=[-5, 3, 1, 15]; p=polyfit(x,f,3); xx=linspace(-2.5,2.5); yy=polyval(p,xx); figure; plot(x,f,'*',xx,yy) A polyval függvény: yy=polyval(p,xx); a p együtthatójú polinom értékeit adja az xx vektor koordinátáiban. (p-ben a polinom együtthatói a főegyütthatóval kezdve szerepelnek) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 27 / 79

x=[-2, -1, 0, 2]; f=[-5, 3, 1, 15]; p=polyfit(x,f,3); xx=linspace(-2.5,2.5); yy=polyval(p,xx); figure; plot(x,f,'*',xx,yy) 40 30 20 10 0-10 -20-2.5-2 -1.5-1 -0.5 0 0.5 1 1.5 2 2.5 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 28 / 79

Fontos! Ha a polyfit függvényben nem megfelelően írjuk elő a polinom fokszámát, akkor a polinom nem feltétlenül illeszkedik az adatokra. x=[-1 0 1 2 3]; f=[-10-4 -1 0 4]; p=polyfit(x,f,2); xx=linspace(-1.2,3.2); ff=polyval(p,xx); figure; plot(x,f,'*',xx,ff) 4 2 0-2 -4-6 -8-10 -12-1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 29 / 79

*Feladat Rajzoltassuk ki közös ábrára az alábbi 3 függvényt: az f(x) = függvényt a [ 1, 1] intervallumon az f függvény 1 1+25x 2 1, 0.8, 0.6,...,0.6,0.8,1 egyenlő lépésközű (ekvidisztáns) alappontokhoz tartozó Lagrange-polinomját az f függvény ( ) 2k 1 x k = cos π, k = 1,2,...,11 22 alappontokhoz (Csebisev-pontok) tartozó Lagrange-polinomját. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 30 / 79

2 f ekvidisztans pontok Csebisev-pontok 1.5 1 0.5 0-0.5-1 -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 1 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 31 / 79

Hermite-interpoláció Példa Határozzuk meg az alábbi adatokra illeszkedő minimális fokszámú polinomot! x i 2 1 1 f(x i ) 10 2 2 f (x i ) 20 10 10 f (x i ) 16 Megoldás. Az illeszkedési feltételek száma: m = 7, így az Hermite-polinom legfeljebb 6-odfokú lesz. Készítsük el az osztott differenciák táblázatát! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 32 / 79

A kiinduló adatok: 2 10 20 2 10 x i 2 1 1 f(x i ) 10 2 2 f (x i ) 20 10 10 f (x i ) 16 1 2 10 1 2 8 10 1 2 1 2 1 2 10 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 33 / 79

Számoljuk ki a hiányzó értékeket! 2 10 2 10 20 1 2 10 1 2 8 10 1 2 1 2 1 2 10 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 34 / 79

A hiányzó elsőrendű osztott differenciák: 2 10 20 2 10 8 1 2 10 1 2 8 10 1 2 2 1 2 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 35 / 79

A hiányzó másodrendű osztott differenciák: 2 10 20 2 10 28 8 1 2 2 10 1 2 8 10 1 2 4 2 1 2 4 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 36 / 79

A harmadrendű osztott differenciák: 2 10 20 2 10 28 8 26 1 2 2 10 10 1 2 8 10 2 1 2 4 2 4 1 2 4 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 37 / 79

A negyedrendű osztott differenciák: 2 10 20 2 10 28 8 26 1 2 2 16 10 10 1 2 8 4 10 2 1 2 4 1 2 4 1 2 4 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 38 / 79

Az ötödrendű osztott differenciák: 2 10 20 2 10 28 8 26 1 2 2 16 10 10 4 1 2 8 4 10 2 1 1 2 4 1 2 4 1 2 4 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 39 / 79

A hatodrendű osztott differencia: 2 10 20 2 10 28 8 26 1 2 2 16 10 10 4 1 2 8 4 1 10 2 1 1 2 4 1 2 4 1 2 4 10 1 2 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 40 / 79

2 10 20 2 10 28 8 26 1 2 2 16 10 10 4 1 2 8 4 1 10 2 1 1 2 4 1 2 4 1 2 4 10 1 2 H(x) = 10 20(x +2)+28(x +2) 2 26(x +2) 2 (x +1) +16(x +2) 2 (x +1) 2 4(x +2) 2 (x +1) 3 +1(x +2) 2 (x +1) 3 (x 1) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 41 / 79

Feladat Határozza meg az alábbi adatokra illeszkedő minimális fokszámú polinomot! *(a) x i 1 1 2 f(x i ) 4 6 94 f (x i ) 9 17 213 (b) x i 2 1 1 f(x i ) 13 3 7 f (x i ) 31 14 18 f (x i ) 40 Feladat Írja fel az f : R R differenciálható függvény x 0 -beli érintőjének az egyenletét! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 42 / 79

Spline interpoláció Matlab-bal Példa Határozzuk meg az alábbi adatokhoz tartozó harmadfokú spline-t! x i 2 1 0 1 2 3 S 4 1 7 4 12 9 S 15 8 Megoldás. Használjuk a Matlab spline függvényét! p=spline(x,y) Előálĺıtja a szakaszonként harmadfokú spline együtthatóit. Itt x az alappontok vektora, az y vektor első és utolsó koordinátája a két végpontban adott deriváltérték, a többi koordináta a függvényértékek. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 43 / 79

>>x=-2:3; y=[15 4 1 7 4 12 9 8]; p=spline(x,y) p = form: 'pp' breaks: [-2-1 0 1 2 3] coefs: [5x4 double] pieces: 5 order: 4 dim: 1 A spline együtthatói: >> p.coefs ans = 19.0000-37.0000 15.0000 4.0000-12.0000 20.0000-2.0000 1.0000 11.0000-16.0000 2.0000 7.0000-12.0000 17.0000 3.0000 4.0000 15.0000-19.0000 1.0000 12.0000 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 44 / 79

Ha nem az együtthatókat szeretnénk tudni, hanem a spline értékét valamely pont(ok)ban, akkor yy=spline(x,y,xx) ahol x és y az előbbi vektorok, xx azon pontok vektora, ahol a helyettesítési értéket keressük. Ekkor yy-ba kerülnek a kiszámolt függvényértékek. >> x=-2:3; >> y=[15 4 1 7 4 12 9 8]; >> xx=linspace(-2.1,3.1); >> yy=spline(x,y,xx); >> plot(x,y(2:end-1),'*',xx,yy) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 45 / 79

x=-2:3; y=[15 4 1 7 4 12 9 8]; xx=linspace(-2.1,3.1); yy=spline(x,y,xx); plot(x,y(2:end-1),'*',xx,yy) 14 12 10 8 6 4 2 0-3 -2-1 0 1 2 3 4 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 46 / 79

Az előbb ábrázolt spline 1. deriváltja: 25 20 15 10 5 0-5 -10-3 -2-1 0 1 2 3 4 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 47 / 79

A 2. derivált: 60 40 20 0-20 -40-60 -80-2 -1 0 1 2 3 4 Ez még mindig folytonos, de a részintervallumok határainál töréspontja van. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 48 / 79

Megj. Ha a spline függvényt olyan x és y vektorokkal hívjuk, amelyek ugyanannyi koordinátát tartalmaznak, akkor a hiányzó két feltételt a Matlab azzal helyettesíti, hogy az első és utolsó két részintervallum találkozásánál a harmadik deriváltat is folytonosnak tekinti. x=-2:3; y=[4 1 7 4 12 9]; xx=linspace(-2.1,3.1); yy=spline(x,y,xx); plot(x,y,'*',xx,yy) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 49 / 79

x=-2:3; y=[4 1 7 4 12 9]; xx=linspace(-2.1,3.1); yy=spline(x,y,xx); plot(x,y,'*',xx,yy) 16 14 12 10 8 6 4 2 0-2 -3-2 -1 0 1 2 3 4 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 50 / 79

Az előbb ábrázolt spline 1. deriváltja: 15 10 5 0-5 -10-15 -20-25 -3-2 -1 0 1 2 3 4 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 51 / 79

A 2. derivált: 50 40 30 20 10 0-10 -20-30 -40-50 -2-1 0 1 2 3 4 Most az első és utolsó osztópontban ( 1-ben és 2-ben) már nincs töréspontja. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 52 / 79

*Feladat Rajzoltassuk ki közös ábrán az alábbi 3 függvényt: az f(x) = függvényt a [ 1, 1] intervallumon az f függvény 1 1+25x 2 1, 0.8, 0.6,...,0.6,0.8,1 egyenlő lépésközű (ekvidisztáns) alappontokhoz tartozó Lagrange-polinomját az f függvény 1, 0.8, 0.6,...,0.6,0.8,1 alappontokhoz tartozó harmadfokú spline polinomját. (A végpontokban a deriváltértékeket tekintsük 0-nak.) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 53 / 79

2 f Lagrange spline 1.5 1 0.5 0-0.5-1 -0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 1 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 54 / 79

Anoním függvények, function handle Függvényeket definiálhatunk parancssorban is: >> f1= @(x) x.*sin(x); Ilyen módon az f1(x) = x sin(x) függvényt definiáltuk, hívása pl.: >> y=f1(pi/4) y= 0.5554 A @ szimbólum után zárójelben szerepelnek a függvény változói (most x), ezt követi a függvény (ez egy ú.n. anoním függvény). Az = baloldalán szereplő változó (most f1) egy ú.n.,,function handle típusú változó lesz. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 55 / 79

Akár többváltozós függvényeket is megadhatunk így: >> f2= @(x,y) x.^2+x.*y-y+3; Ekkor pl. >> z=f2(2,-1) z= 6 A function handle tárolja azon változók értékét is, amelyek szükségesek a függvény kiértékeléséhez: >> a=2.5; b=3; >> f3= @(x) a*sin(x)+b*cos(x); >> y=f3(-4) y= -0.0689 >> clear a b >> y=f3(-4) y= -0.0689 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 56 / 79

Numerikus integrálás Matlab-bal Egyváltozós függvények integrálására pl az integral függvényt használhatjuk. Példa Matlab segítségével számítsuk ki az integrál értékét! Megoldás. >> f= @(x) x.*sqrt(1+x); >> integral(f,0,3) ans= 7.7333 3 0 x 1+xdx Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 57 / 79

Az integral függvény hívása: >> integral(fv,xmin,xmax) ahol fv az integrálandó függvény (fv egy function handle típusú változó), xmin és xmax az alsó és felső határ. Az integral függvény adaptív kvadratúrát használ, és alapértelmezésként 10 10 abszolút, vagy 10 6 relatív hibával számítja ki az integrál értékét. A hibahatárok átálĺıthatóak: >> integral(f,0,3,'reltol',1e-8,'abstol',1e-13) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 58 / 79

Az előző példában nem feltétlenül szükséges létrehozni a f változót: >> integral(@(x) x.*sqrt(1+x),0,3) ans = 7.7333 Ha a függvényt korábban egy m-fájlban definiáltuk, pl. function y=myfnc(x) y=x.*sqrt(1+x) end akkor az integral függvénynek átadhatjuk a függvény nevét is (function handle-ként): >> integral(@myfnc,0,3) Hasonló a helyzet a Matlab beépített függvényeivel: >> integral(@sin,0,pi) ans= 2.0000 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 59 / 79

Impropius integrálok Az integrálás határai lehetnek és is: >> f= @(x) exp(-x); >> integral(f,0,inf) ans = 1 Az sem probléma, ha a függvény az intervallum végpontjaiban nincs értelmezve: >> f= @(x) 1./sqrt(1-x.^2); >> integral(f,-1,1) ans= 3.1416 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 60 / 79

Paraméteres függvények integrálja Példa: 5 0 x 2 cx +3dx Adott paraméterérték esetén kiszámítható az integrál: >> f= @(x,c) x.^2-c*x+3; Az integrál értéke c = 4.5 esetén a [0,5] intervallum felett: >> integral(@(x) f(x,4.5),0,5) ans = 0.4167 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 61 / 79

Ha nem ismert a függvény Előfordulhat, hogy nem ismerünk egzakt képletet az integrálandó függvényre, csak bizonyos pontokban ismerjük az értékeit. Ilyenkor a trapz Matlab-függvényt használhatjuk. Példa Egy jármű sebességét 1 percen kereszül mértük 5 másodperces időközönként: t (sec) 0 5 10 15 20 25 30 35 40 45 50 55 60 v (m/sec) 2.2 2.8 3 3 2.7 2.5 2.4 2.9 3.3 3.5 3.5 3.3 3 Becsüljük meg a jármű által megtett utat! Megoldás. Tudjuk, hogy az a idő alatt megtett út: S = a 0 v(t)dt Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 62 / 79

3.5 3 2.5 v (m/sec) 2 1.5 1 0.5 0 0 10 20 30 40 50 60 t (sec) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 63 / 79

A trapz függvény segítségével az integrál becslése: >> x=0:5:60; >> f=[ 2.2 2.8 3 3 2.7 2.5 2.4 2.9 3.3 3.5 3.5 3.3 3]; >> trapz(x,f) ans = 177.5000 >> y=cumtrapz(x,f); Ekkor y = (0, 12.5, 27, 42, 56.25, 69.25, 81.5, 94.75, 110.25, 127.25, 144.75, 161.75, 177.5) Az y vektor i-edik koordinátája az i-edik időpillanatig megtett utat mutatja. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 64 / 79

Feladatok Matlab segítségével számítsa ki az alábbi határozott integrálok értékét! *(a) π/2 π/2 x sin(x 2 )dx *(b) 1 2π e x2 2 dx *(c) 1 1 1 x 2 dx Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 65 / 79

Nemlineáris egyenletek Matlab-bal Az fzero függény. Az f nemlineáris függvény olyan gyökének közeĺıtésére, melyek környezetében előjelet vált a függvény. Ha f function handle-ként adott, akkor x=fzero(f,x0) Az x0 pontból indulva előálĺıtja a gyök x közeĺıtését [x,fval,exitflag,output]=fzero(f,x0) Az x0 pontból indulva előálĺıtja a gyök x közeĺıtését, megadja az x helyen a függvényértéket (fval), a közeĺıtőeljárás leállásának az okát (exitflag), és a keresési eljárás néhány részletét (output) Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 66 / 79

Példa Matlabbal számítsuk ki az f(x) = e x 4x 2 függvény [0,1]-beli gyökét. Megoldás. >> f=@(x) exp(x)-4*x^2; >> [x,fval]=fzero(f,0.5) x= 0.7148 fval= -4.4409e-16 A gyök közeĺıtése 4 tizedesjegyre kerekítve: 0.7148, ebben a pontban a függvényérték 4.4409 10 16. Ha több tizedesjegyre akarjuk látni az eredményt álĺıtsuk át a kiiratás formátumát! >> format long >> x x= 0.714805912362778 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 67 / 79

Ha a keresési eljárásról több információt szeretnénk: >> [x,fval,exitflag,output]=fzero(f,0.5) x = 0.714805912362778 fval = -4.440892098500626e-16 exitflag = 1 output = intervaliterations: 9 iterations: 6 funccount: 25 algorithm: 'bisection, interpolation' message: 'Zero found in the interval [0.273726, 0.726274]' Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 68 / 79

Ha ismerünk olyan intervallumot, ahol a függvény előjelet vált, akkor meggyorsíthatjuk a keresési eljárást, ha x0 helyett ezzel az intervallummal hívjuk az fzero függvényt: >> [x,fval,exitflag,output]=fzero(f,[0,1]) x = 0.714805912362778 fval = -4.440892098500626e-16 exitflag = 1 output = intervaliterations: 0 iterations: 7 funccount: 9 algorithm: 'bisection, interpolation' message: 'Zero found in the interval [0, 1]' Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 69 / 79

Ha a függvény nem vált előjelet a gyök környezetében, akkor az fzero függvény nem találja meg a gyököt: >> f=@(x) 13-9*cos(x).^2-12*sin(x); >> x=fzero(f,0) Exiting fzero: aborting search for an interval containing a sign change because NaN or Inf function value encountered during search. (Function value at -Inf is NaN.) Check function or try again with a different starting value. x = NaN Ábrázoljuk az f függvényt a [0, 4] intervallumon! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 70 / 79

20 18 16 14 12 10 8 6 4 2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Az ábra alapján azt sejtjük, hogy a függvénynek 0.5 és 2.5 környezetében van 1-1 gyöke, ahol a függvény nem vált előjelet. Az is látszik, hogy itt a függvénynek minimuma van. Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 71 / 79

fminbnd x=fminbnd(f,xmin,ymin) [x,fval,exitflag,output]=fminbnd(f,xmin,xmax) Megkeresi az f függvény [xmin, xmax] intervallumbeli minimumát. Példa: >> f=@(x) 13-9*cos(x).^2-12*sin(x); >> [x,fval]=fminbnd(f,0,1) x = 0.7297 fval = 9.2491e-11 >> [x,fval]=fminbnd(f,2,3) x = 2.4119 fval = 1.7231e-13 Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 72 / 79

Ha az ábra alapján -vagy egyéb rendelkezésre álló információ alapján- úgy látjuk, hogy a függvénynek olyan gyöke van, ahol nem vált előjelet, és ez a függvény lokális maximuma, akkor az fminbnd függvényt f-re hívjuk meg. Fontos! Mindig ellenőrizzük (a függvényérték kiiratásával), hogy az adott szélsőértékhely valóban gyökhely-e. Polinomok gyökeinek keresésére az roots függvényt használhatjuk: keressük meg az x 4 +x 3 x 1 polinom gyökeit! >> p=[1 1 0-1 -1]; >> roots(p) ans = 1.0000 + 0.0000i -0.5000 + 0.8660i -0.5000-0.8660i -1.0000 + 0.0000i Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 73 / 79

Feladatok *(a) Közeĺıtse a 3x = cos(x) egyenlet gyökeit! *(b) Közeĺıtse a 3x 3 12x +4 = 0 egyenlet gyökeit! *(c) Közeĺıtse az e x = sin(x) egyenlet gyökeit! *(d) Közeĺıtse az ln(x) = 2 x egyenlet gyökét! *(e) Közeĺıtse a cos 2 (x)+2sin(x) = 2 egyenlet gyökét! *(f) Közeĺıtse az x 4 x 3 2x 2 2x +4 = 0 egyenlet gyökeit! Baran Ágnes Matematika Mérnököknek 1. 9.-13. Gyakorlat 74 / 79