Modelové cvičení z matematiky: Základy programu Maple
Transkript
Modelové cvičení z matematiky: Základy programu Maple Maple lze zjednodušeně charakterizovat jako matematický manipulační jazyk. Jednotlivé příkazy se ukončují středníkem nebo dvojtečkou a po stisku klávesy ENTER jsou ihned vykonány. Lineární algebra Na modelovém příkladu řešení soustavy lin. rovnic si ukážeme základní příkazy používané lineární algebrou. Dříve než začneme pracovat, musíme si otevřít knihovnu lin. algebry zadáním příkazu with(linalg); nebo with(linalg): . Použijeme tuto pracovní soustavu Soustavu můžeme např. chápat jako maticovou 3x1 5x1 4x1 7x1 + − + + 3x2 7x2 5x2 8x2 + + − + 4x3 8x3 7x3 3x3 − + − + 5x4 2x4 3x4 4x4 = = = = 9 8 −5 −2 rovnici 3 5 4 7 3 −7 5 8 4 8 −7 3 −5 2 −3 4 ·X = 9 8 −5 −2 Ověření Frobeniovy podmínky: příkazem A:=matrix(4,4,[3,3,4,-5,5,-7,8,2,4,5,-7,-3,7,8,3,4]); zadáme do počítače matici soustavy a příkazem b:=vector(4,[9,8,-5,-2]); se zadá vektor pravých stran. Hodnost matice soustavy zjistíme příkazem rank(A);. Rozšířenou matici soustavy (pojmenujeme si ji třeba Aroz) získáme např. tímto způsobem: Aroz:=concat(A,b); spojí matici A a vektor ~b (jako sloupec). Hodnost matice Aroz zjistíme příkazem rank(Aroz);. Je-li Frobeniova podmínka ověřena, příkazy linsolve(A,b); či leastsqrs(A,b); najdou řešení maticové rovnice A · ~xT = ~bT . Soustavu můžeme také řešit použitím inverzní matice: příkaz Ainv:=inverse(A); vypočítá matici A−1 , následně pak můžeme příkazem X:=multiply(Ainv,b); zjistit řešení naší soustavy. x1:=det(A1)/det(A); Jiný způsob, jak řešit soustavu lin. rovnic, je použití Cramerova pravidla. x2:=det(A2)/det(A); Vložíme matici soustavy A a příslušné matice A1 , A2 , A3 , A4 a pomocí pří- x3:=det(A3)/det(A); kazu pro výpočet determinantu postupně vypočteme jednotlivé neznámé: x4:=det(A4)/det(A); V programu Maple lze samozřejmě řešit soustavy lin. rovnic také pomocí Gaussovy a Jordanovy eliminace. Máme-li vloženu rozšířenou matici soustavy Aroz, pak příkaz gausselim(Aroz); provede úpravu na Gaussův tvar a příkaz gaussjord(Aroz); Jordanovu eliminaci. Poslední způsob řešení, který si předvedeme (na jiné soustavě rovnic), r1:=x1+3*x2+4*x3=9: r2:=6*x1-7*x2+8*x3=10: je přímé vložení jednotlivých rovnic (tj. r1, r2, r3): r3:=4*x1+5*x2-5*x3=-5: a pak použití příkazu „solveÿ reseni:=solve({r1,r2,r3},{x1,x2,x3}); . Přehled příkazů (otestujte je na vektorech ~u = (−1, 5, 15), ~v = (−7, 8, 9) a nějakých maticích A, B): norm(u,2); vypočítá normu vektoru ~u angle(u,v); určí úhel vektorů ~u, ~v (v radiánech!) dotprod(u,v); provede skalární součin ~u · ~v crossprod(u,v); provede vektorový součin ~u × ~v transpose(A); transponuje matici A det(A); počítá det(A) inverse(A); počítá A−1 rank(A); počítá h(A) evalm(A+B); počítá A + B adj(A); počítá A multiply(A,B); počítá A · B evalm(A&*B - 3*A); počítá A · B − 3C. POZOR, znak * lze použít pouze na součin čísla a matice, na součin dvou matic je třeba „dvojznakÿ &∗ Posloupnosti a řady n+3 2 n→∞ n −4n+16 Limitu posloupnosti lim obdržíme příkazem limit((n+3)/(n∧ 2-4*n+16),n=infinity);. Součty posloupností a řad zajišťuje „sumÿ. Např. sum(1/k∧ 2,k=1. .infinity); vypočte ∞ P 1 k2 . k=1 Příkaz taylor(cos(x),x=Pi/4,15); dá Taylorův mnohočlen 15. stupně funkce cos x v bodě x = π 4 . Funkce Funkce vkládáme pomocí funkčního operátoru -> . Např. f:= x -> x/(x-5); vloží funkci f : y = x x−5 . Chceme-li určit funkční hodnotu funkce f v bodě x = 12, stačí zadat f(12); . Analogicky vkládáme x−5y funkce více proměnných. Např. g:=(x,y) -> (x-5*y)/(5*x+y); vloží funkci g : z = 5x+y . K výpočtu limit funkcí slouží stejný příkaz jako u posloupností, např. limit(sin(x),x=Pi/3,right); najde limitu funkce sin x v bodě x = π3 zprava. Derivace, integrály, diferenciální rovnice Derivování má 2 možnosti: (A) Povel „diffÿ. Ukázka: diff(sqrt(x∧ 2+1),x); určí první derivaci funkce √ x2 + 1, kdežto diff(ln(1-x),x$5); určí pátou derivaci funkce ln(1 − x). Příkaz diff(tan(x-y),y); určí první parciální derivaci funkce tg (x − y) podle proměnné y. (B) Povel „Dÿ u první a „(D@@k)ÿ u k-té derivace. Ukázka: nejdříve definujeme funkci, např. f:= x -> sqrt(x∧ 2+1); a pak D(f ) určí její první a (D@@3)(f ) její třetí derivaci. Pokud chceme s těmito derivacemi ještě dál pracovat jako s funkcemi, zadáme rovnou g:=D(f ); a h:=(D@@3)(f ); a pak například jejich hodnoty v bodě a = 13 zjistíme příkazy g(13); a h(13);. Užitečné jsou příkazy „maximizeÿ, „minimizeÿ. Např. pro nalezení absolutního maxima a minima funkce y = 1−x2 na uz. intervalu h−2, 5i užijeme: maximize(1 - x∧ 2,x,-2. .5); a minimize(1 - x∧ 2,x,-2. .5);. Integrál R x2 dx počítáme jako int(x∧ 2,x); zatímco R3 x2 dx jako int(x∧ 2,x=-3. .3); . −3 K řešení diferenciálních rovnic slouží příkaz „dsolveÿ. Nejprve vložíme zadanou dif. rovnici. Např. pro rovnici x·y 0 (x)+y(x) = x3 použijeme klasický přiřazovací příkaz R:=x*diff(y(x),x)+y(x)=x∧ 3; (čímž ji označíme jako celek symbolem R ). Následně zadáním dsolve(R,y(x)); získáme řešení y(x) této dif. rovnice. Získání partikulárního řešení dif. rovnice pro určitou počáteční podmínku: vložíme počáteční podmínku pp:=y(1)=7; a pak partikulární řešení dříve vložené rovnice R splňující podmínku pp nalezneme příkazem dsolve({R,pp},y(x));. Můžeme užít jediný příkaz. Např. příkaz dsolve({diff(y(x),x$2)=6*x, y(1) = 3, y(2) = 7}, y(x)); řeší rovnou dif. rovnici 2. řádu y 00 = 6x s dvěma počátečními podmínkami y(1) = 3, y(2) = 7. Pokud chceme s řešením dif. rovnice dále pracovat jako s funkcí, použijeme „speciálníÿ postup – např. u předchozí rovnice (s pomocnou proměnnou „reseniÿ, která dál nemá žádný význam) to bude takto: reseni:=dsolve({diff(y(x),x$2)=6*x, y(1) = 3, y(2) = 7}, y(x)); assign(reseni): g:=unapply(y(x),x): unassign(’y(x)’): a dále pak již pracujeme s řešením jako s funkcí g (třeba si ji můžeme nakreslit příkazem „plotÿ, zjišťovat její funkční hodnoty apod). Grafika Grafy funkcí lze vykreslit užitím příkazu „plotÿ. Např. plot(exp(2*x- 1),x=-0.15. .2); vykreslí část grafu funkce y = e2x−1 pro rozmezí hodnot x ∈ h−0.15, 2i. plot({x∧ 3,2*x},x=-5. .5); kreslí dva grafy funkcí y = x3 , y = 2x pro x ∈ h−5, 5i do jednoho obrázku. plot3d(x∧ 2-x*y+y∧ 2,x=-4. .4,y=-2. .2); kreslí část grafu funkce 2 proměnných z = x2 − xy + y 2 v uvedených rozmezích hodnot x ∈ h−4, 4i a y ∈ h−2, 2i. Poznámka Nápovědy mají hypertextovou strukturu a vyvolají se poklepáním myší na nápis HELP. Další možnost nápovědy (pokud známe název příkazu) je zadání z příkazového řádku: ?<příkaz>;, např.: ?vector;. Ještě jedna rada: jestliže se Maple začne chovat „divněÿ, zadejte příkaz restart; a začněte znovu. Syntaxe povelů v Maple Příkazy mohou končit středníkem nebo dvojtečkou. Pokud příkaz končí dvojtečkou, příkaz se sice provede, ale jeho výsledek se nezobrazí na obrazovce. V případě, že příkaz končí středníkem, povel se provede i zobrazí na obrazovce. Maple používá klasické operační znaky +, −, ∗, \,∧ . Podobně jako v programovacích jazycích je rozdíl mezi := a = . Totiž := je klasický přiřazovací příkaz, = se používá např. u podmínek či při zadávání rovnic (např. if a = b znamená: jestliže a = b). Jestliže v příkazu s parametrem zadáme místo parametru %, pak se za parametr dosadí výsledek předchozího příkazu. operátor + − ∗ / ∗∗ ∧ $ · , := %% význam sčítání odčítání násobení dělení umocňování umocňování sekvenční operátor desetinná čárka oddělovač výrazů přiřazovací příkaz odkaz na druhý předcházející výraz operátor < <= > >= = <> −> and or % %%% význam menší než menší nebo rovno větší než větší nebo rovno rovnost nerovnost funkční operátor logická spojka ∧ logická spojka ∨ odkaz na předcházející výraz odkaz na třetí předch. výraz
Podobné dokumenty
Algebra Polynomy, rovnice a jejich soustavy
Maple umí i další úpravy, jsou to především různé modifikace Gaussovy eliminace,
dále se pokouší upravovat i hermitovsky (bohužel podle mě ne moc užitečným
způsobem) viz. příslušné helpy na : ffgau...
OBÁLKY ROVINNÝCH KŘIVEK S PROGRAMEM MAPLE 1 Úvod 2
způsobuje studentům problémy, přesto je přínosné, aby se s ním seznámili a naučili se ho používat.
Diferenciální rovnice a jejich použití v elektrotechnice – práce s
Předvedeme ještě jinou možnost řešení, která je ovšem komplikovanější. Můžeme ji použít,
jestliže si chceme zkontrolovat náš ruční“ výpočet krok za krokem:
Základy numerické matematiky Interpolace a aproximace funkcí
Numerické řešení diferenciálních rovnic
Maple obsahuje poměrně velkou knihovnu všemožných metod na numerické řešení
všech možných diferenciálních rovnice. Základní používání těchto metod nastíníme ...
Soustavy lineárních rovnic
h( A ) = h( R ) , takže homogenní soustava má vždy řešení. Zbývající tvrzení jsou důsledkem věty 5.2.
Poznámka 5.5. Homogenní soustava lineárních rovnic S 0 (m, n) , kde n > m tedy počet neznámých ...
Obycejné diferenciáln´ı rovnice s poc´ıtacovou podporou
V této kapitole se budeme zabývat řešenı́m diferenciálnı́ch rovnic prvnı́ho řádu. Ukážeme si, jak
formulovat diferenciálnı́ rovnici, zı́skat obecné řešenı́, partikulárnı́ řešenı́ po...
8 Urcitý integrál, krivkový integrál a Cauchyovy integráln´ı vety
Poznámka.
i) Obecně neplatı́, že ke každé funkci spojité na Ω existuje funkce primitivnı́ (jako je tomu u
reálných funkcı́).
ii) Pro existenci primitivnı́ funkce k funkci f na Ω je třeba h...
praktická cvičení
výpočet integrálu – do již otevřeného souboru s příponou nb (z Příkladu 1) postupně
zadejte (do dalšího řádku přejdete stiskem klávesy Enter):
f2[x_,y_]:=y*Exp[x]
Export["D:\\u09b.bmp",Plot3D[f2[x,...