a 3 c 5 A 1 Programové prostředí



Podobné dokumenty
+ ω y = 0 pohybová rovnice tlumených kmitů. r dr dt. B m. k m. Tlumené kmity

8. Posloupnosti, vektory a matice

Úvod do programu MAXIMA

DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky

Mária Sadloňová. Fajn MATIKA. 150 řešených příkladů (vzorek)

Euklidovský prostor Stručnější verze

Vybrané problémy lineární algebry v programu Maple

Teoretická Informatika

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

. Určete hodnotu neznámé x tak, aby

Státní maturita 2011 Maturitní testy a zadání jaro 2011 Matematika: didaktický test - základní úrove obtíºnosti MAMZD11C0T02 e²ené p íklady

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

Nula vyjde až po zjednodušení, které užívá pravidla pro práci s trigonometrickými funkcemi simplify(h1-h);

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

ŘEŠENÍ KVADRATICKÝCH A ZLOMKOVÝCH NEROVNIC V ŠESTI BODECH

Jak pracovat s absolutními hodnotami

1. Je dána funkce f(x, y) a g(x, y, z). Vypište symbolicky všechny 1., 2. a 3. parciální derivace funkce f a funkce g.

2 Spojité modely rozhodování

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY

Funkce zadané implicitně

JčU - Cvičení z matematiky pro zemědělské obory (doc. RNDr. Nýdl, CSc & spol.) Minitest MT1

Základy matematiky kombinované studium /06

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

Návody k domácí části I. kola kategorie A

Matematické symboly a značky

Laboratorní cvičení - Integrální počet v R

y (5) (x) y (4) (x) + 4y (3) (x) 12y (x) 45y (x) 27y(x) (horní indexy značí derivaci) pro 3. y(x) = x sin 3x 4. y(x) = x cos 3x 9.

0. Lineární rekurence Martin Mareš,

Edita Kolářová ÚSTAV MATEMATIKY

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Matematika I: Aplikované úlohy

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Vedení tepla v MKP. Konstantní tepelné toky. Analogické úlohám statiky v mechanice kontinua

Kód uchazeče ID:... Varianta: 14

MATrixLABoratory letný semester 2004/2005

1)Zapište jako výraz:dekadický logaritmus druhé mocniny součtu 2. odmocnin čísel p,q.

Inovace bakalářského studijního oboru Aplikovaná chemie

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

Operace s maticemi Sčítání matic: u matic stejného typu sečteme prvky na stejných pozicích: A+B=(a ij ) m n +(b ij ) m n =(a ij +b ij ) m n.

Semestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0

VIDEOSBÍRKA DERIVACE

A NUMERICKÉ METODY. Matice derivací: ( ) ( ) Volím x 0 = 0, y 0 = -2.

Zápočtová písemka Řešení

10 je 0,1; nebo taky, že 256

Ústav teoretické fyziky a astrofyziky Přírodovědecké fakulty Masarykovy Univerzity v Brně. 14. května 2007

M - Příprava na čtvrtletní písemnou práci

předmětu MATEMATIKA B 1

TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Ekonomická fakulta, Jihočeská univerzita v Českých Budějovicích. MATEMATICKÝ SOFTWARE MAPLE - MANUÁL Marek Šulista

1 Funkce dvou a tří proměnných

K přednášce NUFY028 Teoretická mechanika prozatímní učební text, verze Spojitá prostředí: rovnice struny Leoš Dvořák, MFF UK Praha, 2014

VIDEOSBÍRKA DERIVACE

Přehled učiva matematiky 7. ročník ZŠ

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

Mobilní telefon s funkcí určení polohy a možností vzdálené správy a ovládání.

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

Riemannova hypotéza Martin Havlík 2. A

Lineární programování

Zadání projektů z BPC2 pro letní semestr 2007/2008

I. Kalkulátor Rebell SC2040 manuál s příklady Tlačítko: MODE CLR

KALKULÁTORY EXP LOCAL SIN

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

MS EXCEL_vybrané matematické funkce

4. Lineární nerovnice a jejich soustavy

MapleCloud a jeho použ ití. Vladimír Žák

Cvičné texty ke státní maturitě z matematiky

Práce s čísly. Klíčové pojmy: Základní matematické operace, zápis složitějších příkladů, mocniny, odmocniny, zkrácené operátory

CADKON/TZB verze

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

10. Editor databází dotazy a relace

Studijní opory k předmětu 6AA. 6AA Automatizace. Studijní opory k předmětu. Ing. Petr Pokorný 1/40 6AA AUTOMATIZACE 6AA - cvičení

2.7.6 Rovnice vyšších řádů (separace kořenů)

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

5. Maticová algebra, typy matic, inverzní matice, determinant.

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu

Základy programování (IZP)

Poznámky z matematiky

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Zápočtová písemka z Matematiky III (BA04) skupina A

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Wolfram Mathematica. Mgr. Jindřich Soukup

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

MATEMATIKA 1 4 A B C D. didaktický test. Zadání neotvírejte, počkejte na pokyn! Krok za krokem k nové maturitě Maturita nanečisto 2006

PORAĎ SI SE ŠKOLOU Lucie Michálková

ISPOP 2016 MANUÁL K VYPLNĚNÍ FORMULÁŘŮ PRO OHLAŠOVÁNÍ ÚDAJŮ PRO VODNÍ BILANCI

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

NEXIS 32 rel Generátor fází výstavby TDA mikro

Laboratorní zdroj - 6. část

Uživatelská příručka

Studium kladného sloupce doutnavého výboje pomocí elektrostatických sond: jednoduchá sonda

Vektory a matice. Matice a operace s nimi. Hodnost matice. Determinanty. . p.1/12

Okno Editoru nabízí v panelu nástrojů

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-202

Seznámíte se s pojmem primitivní funkce a neurčitý integrál funkce jedné proměnné.

Kapka kapaliny na hladině kapaliny

Transkript:

Programové prostředí Program se skládá z několika různých typů řádků. 1. Řádek pro komentář = program jej neprovede. Vložíte jej stisknutím CTRL+T, přes menu Insert -> Text, kliknutím na. Řádek začíná [ 2. Řádek s informací pro program = program jej provede. Vložíte jej stisknutím CTRL+M, přes menu Insert -> Maple Input, kliknutím na, tento typ je implicitní, pokud byste potřebovali i dát i sem komentář, vložte znak # a všechno za ním je komentář Řádek začíná [> 3. Sekce, ta může obsahovat řádky s komentáři i se vstupy. Sekce začíná a končí. Může obsahovat podsekce, podsekce podsekcí,. Lze ji sbalit (tj. není vidět obsah) a rozbalit (tj. je vidět obsah). Jak jednoduše zvětšit písmena v programové ploše? Nahoře jsou tři lupy, vlevo je nejmenší, vpravo je největší. Na co je potřeba si dát pozor. V červeném Maplu pozor na mezery, zvlášť u indexů. Mezera je malá a tak si jí nevšimnete. Maple pak nepočítá. Konec zadané informace oznamujete programu buď : (nepotřebuji vidět, co to udělalo ) nebo ; (potřebuji vidět, co to udělalo ). Na jednom řádku může být víc zadaných informací. Zadání provedu stlačením ENTER, nebo kliknutím na jeden ze symbolů. První provede aktuální řádek, druhý provede CELÝ program. > a=3;b=2:c=5; a3 c5 U červeného Maplu není potřeba dávat na konec řádku ; nebo : Rozdíl mezi := a = Pokud zadáte jen = říkáte, že je nějaká rovnice, kdy levá strana = pravé, ale rovnici nepojmenujete a tedy o ní program nic neví > A=1;B=2;C=A+B; A1

B2 CA B Dotaz na obsah proměnných A a B > A;B; A B Pokud zadáte :=, tak program pravou stranu výrazu přiřadí levá straně (na levé straně je proměnná). Pokud lze výraz vyčíslit, tak jej program vyčíslí. > A:=3;B:=4;C:=A+B; > A;B; A := 3 B := 4 C := 7 3 4 Pokud chci programu říct, že existuje rovnice jménem rovnice, jejíž levá strana je D+2*C a pravá strana je A+B a chci ji vyřešit, tak to provedu takto: > rovnice:=d+2*c=a+b;d;solve(rovnice);d; rovnice:= D147 D -7 D Jak je poznat z posledního příkazu, D; program sice spočítal, že D je -7, ale nedostal za úkol si to zapamatovat. Příkaz solve vyřeší rovnici (nebo soustavu rovnic), pokud je v rovnici jen jedna neznáma, nemusím programu říkat, kterou neznámou z rovnice chci spočítat. Je rozdíl mezi malými a velkými písmeny. > a:=3;a:=5;a+a; a := 3 A := 5 8 Program si pamatuje i smazané informace. Tak to může vypadat, ale je i není to pravda. Pokud programu zadám, že A:=5: Dám ENTER, tak si to program pamatuje. Když tento řádek smažu, není důvod, aby to

program zapomněl, ale uložím-li tento soubor a ukončím program Maple, tak po opětovném načtení samozřejmě neví, že A je 5. Pokud chci, aby program všechno, co bylo zadané, zapomněl, použiji příkaz restart: (nebo restart;) je to jedno, protože tento příkaz nemá žádný výstup. Je vhodné jej napsat hned jako první, pokud pustíte program znovu od začátku, tak program Maple nebude maten minulými výsledky. > restart: Pokud chci, aby program zapomněl jen určitou proměnnou (třeba x), řeknu mu to takto: > x:='x'; > nebo > unassign('x'); x := x Program si vymýšlí nezadané informace. Pokud máte otevřené 2 a víc souborů a pracujete v nich, jsou informace z obou ukládány do paměti a používány ve VŠECH souborech nezávisle na tom, ve kterém byly použity. Nejjednodušší je nepouštět 2 a více souborů najednou. Klidně můžete mít otevřeno více souborů, ale ENTER, a symboly používejte jen v jednom. Co znamenají různé závorky? () [] {} Závorky () jsou normální. Např. sin(1). Závorky [] se používají u vektorů a matic. Např. A[1,2] znamená prvek z matice A, může to být číslo, výraz i rovnice. Závorky {} se používají, např. když zadáváte parametry, aby program poznal, které k čemu patří. Např. vysledek:=solve({x+y=5,x-y=3},{x,y}); takto chci spočítat soustavu dvou rovnic o dvou neznámých a výsledek uložit do proměnné vysledek. Pokud budu chtít, aby si program zapamatoval, kolik je x a kolik y, tak mu to řeknu příkazem assign(vysledek); > vysledek:=solve({x+y=5,x-y=3},{x,y}); vysledek := { x4, y1 } > x;y;assign(vysledek);x;y;#x a y zna, az po prikazu assign x y 4 1

Počítá mi to divně, pokud používám desetinnou čárku. Nepočítá, pro něj to znamená komplexní číslo. Ten druhý výraz znamená (3+4*i) (1+5*i) a to je 2-1*i > 3,4-1,5;(3,4)-(1,5); 3, 3, 5 2, -1 sin, cos, tan Argumenty v goniometrických funkcích používá program v radiánech, tedy sin(90) není 1., ale jedna je sin(pi/2). Pi je Ludolfovo číslo Pí. > sin(90);sin(pi/2); sin( 90) 1 Jak se liší sin(90) a sin(90.) a sin(90.0)? U toho prvního ho program vyčíslí, jen pokud je to PŘESNÁ hodnota, u zbylých dvou vždy, pokud tam ještě není konstanta. Pokud před. není číslice, tak program doplní 0, tedy > sin(90);sin(90.); Kolik je vlastně Pí? Zadáním Pi, Vám program odpoví přesně Pi. Trik 1.0*Pi Vám také nepomůže, protože sice vyčíslí nepřesně 1.0, ale Pi je zase Pi. Dát za něj tečku je špatně. Ale můžete programu říct, že hodnotu CHCETE vyčíslit. To se provede příkazem evalf(pi); > Pi;1.0*Pi;evalf(Pi); sin( 90) 0.8939966636 1.0 3.141592654 Jak dostanu nápovědu třeba k příkazu evalf? A jaké jsou VŠECHNY příkazy? Zadáte za otazník příkaz, který Vás zajímá a zadáte ENTER (bez ; nebo : ), nápověda se otevře v novém okně. Samotný? Vám otevře nápovědu, kde se dá vše najít - doklikat. >?evalf >?

Zakázané proměnné. Do některých proměnných nemůžete zapsat, protože se jedná o konstanty nebo příkazy, např. Re, D, Pi. pi konstanta není a můžete si ji tedy definovat podle libosti. > Re:=5;D:=5;Pi:=3.14;pi:=3.14159; Error, attempting to assign to `Re` which is protected. Try declaring `local Re`; see?protect for details. Error, attempting to assign to `D` which is protected. Try declaring `local D`; see?protect for details. Error, attempting to assign to `Pi` which is protected. Try declaring `local Pi`; see?protect for details. := 3.14159 Řecká písmena. Píší se podle anglické ho pravopisu, tedy získáte zadáním alpha, zadáním gamma, zadáním Gamma. Pokud je první písmeno v názvu velké, jedná se o velké řecké písmeno. Seznam získáte dotazem?greek V červeném Maplu lze řecká písmena zadat i kliknutím na odpovídající písmeno v okně vlevo. Řešení rovnic, když mi zajímají jen některé kořeny. Řešení nelineárních rovnic. > rovnice:=0=x^3+2*x^2+x+1;solve(rovnice); Pokud mi zajímá řešení jako číslo. > fsolve(rovnice); rovnice:= 0x 3 2 x 2 x 1 ( 10012 69 ) 2 2 ( 10012 69 ), 6 3 ( 10012 69 ) 3 12 1 2 3 ( 10012 69 ) 3 1 2 I 3 ( 10012 69 ) 2 ( 10012 69 ), 6 3 ( 10012 69 ) 12 1 2 3 ( 10012 69 ) 3 1 2 I 3 ( 10012 69 ) 2 6 3 ( 10012 69 )

Ale program mi řekne JEN jedno. Já chci i ty komplexní. > fsolve(rovnice,complex); Některé rovnice program nevyřeší analyticky (solve), ale jen numericky, (fsolve). > solve(ln(x)=cos(x)); > fsolve(ln(x)=cos(x)); Co když mi zajímá JEN kladný kořen? -1.754877666-1.75487766624669, -0.122561166876654 0.744861766619744I, -0.122561166876654 0.744861766619744I RootOf( _Ze ) Tak to programem řeknu parametrem v příkazu fsolve, v jakém rozmezí má být neznámá. Např. chci, aby z bylo od -1 do 5 mu řeknu z=-1 5 těch teček musí být víc než 2, klidně i 50, ale 3 až 5 je tak akorát. > rovnice:=x*x-1*x-6=0;solve(rovnice); fsolve(rovnice,x=0...infinity);# infinity je nekonecno, zalomeni provedeno pomoci TAB rovnice:= cos ( _Z) 1.302964001 x 2 x 6 0 3, -2 3.000000000 Záleží v Maplu na pořadí? Ano i ne. Zde na pořadí záleží: Pokud zadáte: > a:=5;b:=6;c:=a+b; Je c = 11, pokud c nezměníte, změna a nebo b už nemá na c vliv. > a:=6;c; a := 5 b := 6 c := 11 a := 6 11 Stejně, jako když vyřešíte rovnici a výsledek napíšete do proměnné, pak je proměnná hodnota a změna v rovnici její hodnotu už neovlivní.

Pokud zadáte: > Z:=X+Y;X:=5;Y:=6;Z; Z := XY X := 5 Y := 6 11 Je Z stále X + Y, pokud změníte X nebo Y, změní se AUTOMATICKY hodnota Z, protože Z je STÁLE X + Y. > X:=6;Z; X := 6 12 Když zadáte nejdřív b nebo Y, až potom a nebo X, tak to vliv nemá. V cizim programu vidím divnou věc. > 1e5-1e4; 90000. ečíslo je totéž, jako *10 umocněné na ČÍSLO, tedy 100000 10000; > ln(5)-log(5); 0 ln(5)-log(5) je nula! ANO, protože i log je přirozený logaritmus, dekadický je log10 > ln(5.)-log10(5.);#bez tecek za petkami by to Maple nevycislil 0.9104679077 Co mám dělat? Občas ukládat CTRL+S, zvlášť, před příkazy solve, fsolve, simplify, u kterých nejvíc hrozí zamrznutí počítače. Rozumně si pojmenovávat proměnné, např. a, b, c jsou sice krátká jména, ale co popisují? d průměr, d_a průměr s dolním indexem a, V objem, v rychlost a podobně. Rey nebo re může být Reynoldsovo kritérium. Do komentáře psát jednotky, ZVLÁŠŤ pokud nejsou základní (mm). Případně, co ve které proměnné je. Teď to víte, ale za půl roku? Rozumně si pojmenovávat rovnice. Jméno rovnice není ani krátké a ani nepopisuje, o co jde. Třeba br_a můze znamenat bilančni rovnici pro látku a, nebo br1a může být bilanční rovnice pro látku a v prvním uzlu, s5 zase popisovat, že součet molárních zlomků v proudu 5 je 1. První řádek obsahuje restart: # Kdo vytvořil tento program a co má dělat (stačí i číslo úlohy). To, že něco vyřeším, pro systém nic neznamená, pokud výsledek nezapíšu tam, kam patří.

Když integruji podle konverze, těžko mu můžu napsat, že konverze je 90%. To musí být dvě proměnné, podle jedné integruji a ta druhá může být konverze_k (jako konverze na konci, ta pak bude 0,9 tj. těch zmiňovaných 90%). Výsledek řešení dát do proměnné vysledek a pokud je reálný, pak ho z té proměnné dát kam patří funkcí assign. Pokud reálný není, tak najít jiný omezením rozsahu neznámé (neznámých). Co nemám dělat? Nepropadejte panice. Pokud Vám to nedělá, to co má. Vypište si z řádku, který zlobí, všechny neznámé, jestli jsou skutečně neznámé (pokud má proměnná a hodnotu 5, tak její hodnotu z rovnice nevyřešíte), a jestli jsou všechny známé skutečně známé. Používat písmena s háčky a čárkami ani u proměnných a raději ani u popisu. Když bude mít někdo jiné fonty, může být pro něj text nečitelný. Nedávat do názvu proměnných znaky jako # <>:;.,!? +-*/^ mezera a podobné. Pokud mi stačí numerické řešení navíc mi zajímají jen některé kořeny, tak proč programu nezjednodušit život -> reseni:=fsolve({br3a,br3},{x3a,m5},x3a=0.1, m5=0.99e99); Nepsat rovnice hezky užíváním různých druhů závorek, každá má svůj konkrétní význam! Raději v červeném Maplu nepoužívejte indexy, nebo aspoň, dokud to neodladíte. Když je v indexu la nebo l_a nebo Ia tak to skutečně nepoznáte. Často u reaktorů často integrujete výraz 1/(1-x) pokud neřeknete jinak, Maple předpokládá x od 1 do nekonečna a výsledkem je tedy -ln(x-1), místo předpokládaného ln(1-x), protože argument má být v absolutní hodnotě, jedná se o stejný výsledek, ale reálný je vždycky jen jeden, druhý je logaritmus záporného čísla. Jednotky V červeném Maplu jde zadávat jednotky a program s nimi dál pracuje. Pokud budete potřebovat spočítat dráhu, znáte rychlost a potřebnou dobu a obě hodnoty zadáte s jednotkami, program Vám spočítá velikost dráhy včetně jednotek. > > > Zlomky program udělá sám, jakmile stisknete klávesu /, jednotky se nepíší pomocí hranatých závorek, ale doklikávají se z okna Units, které je vlevo. Řádky není potřeba zakončovat : nebo ;, ale když to tam dáte, tak to ničemu nevadí.

POZOR: Pa je totéž, jako kg/(m s s). J je totéž, jako kg m m / (s s) Příklad: Tři způsoby řešení bilanční úlohy. Houby obsahují 92 % vody. Původně vážily 5 kg, po usušení váží 2,2 kg. Kolik % vody se obsahují po usušení? Kolik kg vody se odpařilo? Vodu označím jako a, sušinu jako b. Před sušením bude 1, po sušení bude 2 a odpařená voda 3. Požadované neznámé jsou m3 a w2a. 1. Maple jako chytřejší kalkulačka. Všechno musím vymyslet sám, Maple to jen spočítá. > restart; > m1:=5;m2:=2.2;m3:=m1-m2; m1 := 5 m2 := 2.2 m3 := 2.8 > w1a:=0.92;w3a:=1; w1a := 0.92 w3a := 1 > w2a:=(w1a*m1-w3a*m/m2; w2a := 0.8181818182 2. Maple jako řešitel rovnic. Sestavím rovnice a Maple je vyřeší. > restart; > m1:=5;m2:=2.2;w1a:=0.92;w3a:=1; m1 := 5 m2 := 2.2 w1a := 0.92 w3a := 1

> br:=m1=m2+m3; br := 52.2 m3 > bra:=w1a*m1=w2a*m2+w3a*m3; bra := 4.60 m32.2 w2a > reseni:=solve({br,bra},{m3,w2a}); reseni := { m32.800000000, w2a 0.8181818182 } > assign(reseni); Tato varianta je přehlednější a jednodušší, proto ji doporučuji. Značím: br bilanční rovnici, bra bilanční rovnici pro složku a, pokud by bylo vice uzlů, pak doplním ještě číslo uzlu. 3. Tato úloha lze řešit pomocí vektorů a matice. > restart; > with(linearalgebra): > m:= <-m1 m2 m3>; > w:=<<w1a,w2a,w3a> <w1b,w2b,w3b> <1,1,1>>; > v:=vectormatrixmultiply(m,w); > m1:=5;m2:=2.2;w1a:=0.92;w3a:=1; > reseni:=solve({v[1],v[3]},{m3,w2a}); > assign(reseni); m := [ m1, m2, m3] w1a w1b 1 w := w2a w2b 1 w3a w3b 1 v := [ m1 w1a m2 w2a m3 w3a, m1 w1b m2 w2b m3 w3b, m1m2m3] m1 := 5 m2 := 2.2 w1a := 0.92 w3a := 1 reseni := { m32.800000000, w2a 0.8181818182 } m je vektor obsahující celkové hmotnosti proudů na jedné straně - na druhé straně (proto je před m1 znaménko mínus) w je matice obsahující složení proudů, poslední sloupec je pro celkovou bilanci

v je vektor, jehož každý prvek obsahuje bilanci jedné složky, poslední obsahuje celkovou bilanci, v[1] je první prvek z vektoru, zde je to bilance složky a, protože je od výstupu odečten vstup, musí být hodnota každého prvku vektoru v nula. V příkazu solve obsahuje rovnice jen jednu stranu, pokud je to tak, tak systém předpokládá, že je druhá strana = 0. reseni:=solve({v[1]=0,v[3]=0},{m3,w2a}); je totéž. Pokud bych chtěl spočítat w1b, w2b a w3b, použil bych dodatečné vztahy, že součet hmotnostních zlomků všech složek v proudu je 1. Potřebujete spočítat konstanty pro proložení bodů obecnou funkcí? Lineární a polynomické Vám spočítá kdejaký program, ale obecné Maple. Máte sadu dvojic [x,y] a obecnou funkci. Zde je pět dvojic x,y a funkce má tvar y = b + c/x. Pomocí metody nejmenších čtverců hledáte správné hodnoty b a c. Zapsáno v Maplu. > with(curvefitting): > x1:=1.5:x2:=2.5:x3:=4:x4:=5.5:x5:=7.2:y1:=3.5:y2:=5.5:y3:=6:y4 :=5.0:y5:=3.2: > LeastSquares([x1,x2,x3,x4,x5], [y1,y2,y3,y4,y5], x, curve=b+c/x); 5.01657361404112 1.14993176401827 x Proměnná b je 5.01657361404112 a c je 1.14993176401827. Integrace, analytické a numerické řešení. Při výpočtu času potřebného pro zadanou konverzi často vychází integrály typu Analytické řešení integrálu se počítá takto: 1 ( ca0 ca0 ) ( ca0 cb0 ) > > int(1/((ca0-ca0*zeta)*(-ca0*zeta+cb0)),zeta); ln( ca0 cb0) ln( 1 ) ca0 ( cb0ca0) ca0 ( cb0ca0) Ale POZOR, integrál z (1/(1-x))dx NENÍ ln(1-x), ale ln I1-xI, tj. ln absolutní hodnoty. Tak čitatel prvního zlomku není ln(ca0*zeta-cb0), ale ln(cb0-ca0*zeta). To popisuje, kolik zůstalo latky B na konci. Druhého zlomku není ln(-1+zeta), ale je ln(1-zeta). To popisuje, kolik zůstalo látky A na konci (ca0 bylo vytknuto). Maple má občas na výběr a může nabídnout sice správné, ale fyzikálně nerealizovatelné řešení. Pokud Maplu neřeknete, že 0<zeta<1, tak předpokládá, že zeta>1, proto ty výsledky.

Numerické řešení téhož integrálu: > ca0:=22.4:cb0:=55.2:zetak:=0.99:int(1/((ca0-ca0*zeta)*(cb0- ca0*zeta)),zeta=0...zetak); Jsou tam dosazeny počáteční koncentrace a konečná konverze (zetak). POZOR! Pokud bych v integrálu nahradil zetak za zeta a řekl mu, že zeta = 0.99 a chtěl spočítat integrál, ohlásí chybu. Funkci int lze dát i do řešitele. > solve(2=int(5-x,x=-1...xk)); 0.005568708899 54 2, 54 2 V tomto případě je jediná neznámá a to konečná mez proměnné. Derivace Maple umí také derivovat. > diff(a*x^3+b*x^2+c*x+d+e/x+f/(x*x)+exp(2*x)+ln(x),x); 3 a x 2 e 2 f 2 b xc 2 e ( 2 x) 1 x 2 x 3 x POZOR Diff je jiná funkce. Řešitel diferenciálních rovnic se jmenuje dsolve. Vytvoření vlastní funkce Definuji funkci funkce x*x-x+2, tak, abych zadal x a dozvěděl se výsledek. > funkce:=x->x*x-x+2; funkce := xx xx2 > funkce(1);funkce(; A jde to i pro více argumentů. > funkce2:=(x,y)->x-y; 2 8 funkce2 := ( x, y) xy > funkce2(2,;funkce2(3,2); -1 1 Grafy zobrazení funkcí Jak vypadá graf funkce y=sin(x)-x+2?

> plot(sin(x)-x+2); Samozřejmě, že x je v radiánech. A co když mi ten graf zajímá pro 2 <x <10? > plot(sin(x)-x+2,x=2..10);

A může se mi to hodit třeba k tomu, abych zjistil, pro jaké x je řešení y = 0 a jestli těch řešení není víc. > plot(x*x*x+5*x*x-50*x+25); Jeden kořen je asi -11, druhý asi 0.4 a třetí asi 4.5. Je to šikovné hlavně pro složité funkce, abych se ujistil, že jsem na nějaký kořen nezapomněl.