Úvod do programu MAXIMA



Podobné dokumenty
Jedná se o rozpracovaný návod k programu wxmaxima pro naprosté začátečníky. pokud bude mít kdokoliv chuť, může samostatně vytvořit nějakou kapitolu a

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

Úvod do programu wxmaxima

Jak pracovat s absolutními hodnotami

Vzdělávání v egoncentru ORP Louny

1 Vetknutý nosník částečně zatížený spojitým zatížením

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

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

2. Numerické výpočty. 1. Numerická derivace funkce

8. Posloupnosti, vektory a matice

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Funkce zadané implicitně

Kreslení grafů v Matlabu

Tabulkové processory MS Excel (OpenOffice Calc)

Lineární algebra s Matlabem cvičení 3

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

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

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

Matematické symboly a značky

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

ELEKTRONICKÝ PODPIS VE WORDU

2 Spojité modely rozhodování

Základy matematiky kombinované studium /06

Maple. Petr Kundrát. Ústav matematiky, FSI VUT v Brně. Maple a základní znalosti z oblasti obyčejných diferenciálních rovnic.

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

Seminář z matematiky. jednoletý volitelný předmět

Rámcový manuál pro práci s programem TopoL pro Windows

Matematika pro studenty ekonomie

Finanční. matematika pro každého. f inance. 8. rozšířené vydání. věcné a matematické vysvětlení základních finančních pojmů

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

Uživatelská příručka

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

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

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

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

9. cvičení z Matematické analýzy 2

Vybrané kapitoly z matematiky

X37SGS Signály a systémy

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

Výpočet excentrického klikového mechanismu v systému MAPLE 11 Tomáš Svoboda Technická fakulta Česká Zemědělská Univerzita

Euklidovský prostor Stručnější verze

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx.

Spojitost funkcí více proměnných

4. Lineární nerovnice a jejich soustavy

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

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

FAKULTA STAVEBNÍ MATEMATIKA II MODUL 2 STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA

Kristýna Kuncová. Matematika B2

Derivace funkce Otázky

Některé zákony rozdělení pravděpodobnosti. 1. Binomické rozdělení

Číslicové a analogové obvody

Parametrická rovnice přímky v rovině

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

Základy algoritmizace a programování

Návod k programu Graph, verze 4.3

5.3. Implicitní funkce a její derivace

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

. Opakovací kurs středoškolské matematiky podzim 2015

Derivace funkce DERIVACE A SPOJITOST DERIVACE A KONSTRUKCE FUNKCÍ. Aritmetické operace

Edita Kolářová ÚSTAV MATEMATIKY

Funkce a vzorce v Excelu

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Přednáška 3: Limita a spojitost

M - Příprava na 1. čtvrtletku - třída 3ODK

GeoGebra známá i neznámá (pokročilí)

= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Příklady k druhému testu - Matlab

Teoretická Informatika

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

DUM 14 téma: Barevné korekce fotografie

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Helios RED a Internetový obchod

Matematika II, úroveň A ukázkový test č. 1 (2016) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6

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

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA. pro studijní obory SOŠ a SOU (13 15 hodin týdně celkem)

Dodatek č. 3 ke školnímu vzdělávacímu programu. Strojírenství. (platné znění k )

UŽIV ATELSKÁ PŘÍRUČKA

Geonext Open Source Software ve výuce matematiky a fyziky - 1

Uzavřené a otevřené množiny

NÁHODNÁ VELIČINA. 3. cvičení

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

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

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.

Excel tabulkový procesor

Lingebraické kapitolky - Analytická geometrie

MATEMATIKA Charakteristika vyučovacího předmětu 2. stupeň

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Matematika II, úroveň A ukázkový test č. 1 (2017) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

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

Funkce a lineární funkce pro studijní obory

TVORBA VÝROBNÍ DOKUMENTACE CV

Matematika I: Aplikované úlohy

Bakalářská matematika I

rovnic), Definice y + p(x)y = q(x), Je-li q(x) = 0 na M, nazývá se y + p(x)y =

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Transkript:

Jedná se o rozpracovaný návod k programu wxmaxima pro naprosté začátečníky. Návod lze libovolně kopírovat a používat ke komerčním i osobním účelům. Momentálně chybí mnoho důležitých kapitol které budou postupně doplňovány, pokud bude mít kdokoliv chuť, může samostatně vytvořit nějakou kapitolu a tu poslat na mou adresu, rád ji přidám. Jedinou odměnou vám může být zvěčnění vašeho jména u dané kapiloly. Maximě zdar a praktickému využití zvlášť, Michal Sivčák (www.kmp.tul.cz) NEWS: 19.08.2015 -aktualizace na novější verze. 02.12.2010 - doplněn zápis konstant Pi, e, i, phi. - doplněn popis parametrů pro vykreslení grafů. 26.11.2010 - vydána první nekompletní příručka. Úvod do programu MAXIMA 1 Základní operátory a funkce Na začátek každého programu doporučuji napsat příkaz "kill(all)$" který vymaže z paměti předchozí výsledky. Pro zpracování (výpočet) "vstupního pole" slouží kombinace kláves "shift + enter" a pro celý sešit "ctrl + R". "Enter" slouží pouze pro odsazení odstavce. Vlastnosti "shift + enter" a "enter" lze prohodit v nastavení programu. Maxima ignoruje násobné mezery a odsazení odstavců. Program se píše do "vstupního pole" (automaticky uvozeno %i), komentáře se zapisují do "textových polí" (textová pole mají různé úrovně s jejichž pomocí lze efektivně formátovat dokument). Zpracována jsou pouze "vstupní pole" a to postupně zhora dolů ("ctrl + R"). Vstup je ukončen ";" pokud nás zajímá výsledek, nebo "$" pokud výsledek nechceme zobrazit (např. je velmi dlouhý nebo nezajímavý). Jednotlivé vstupy lze vyhodnocovat opakovaně ("shift + Enter"). (%i10) kill(all)$ Přiřazení se v Maximě provádí pomocí dvojtečky, pro a=5 a b=4 bude vypadat zápis následovně: 16.12.2015 13:16 1

(%i1) a:5; b:4; Součet, rozdíl, součin a podíl (%i3) a+b; (%i4) a-b; (%i5) a*b; (%i6) a/b; Chceme li výstup zobrazit ve formátu desetiného čísla, použijeme příkaz "float". (%i7) float(a/b); Mocnina a druhá odmocnina. (%i8) a^2; (%i9) sqrt(a); Zápis goniometrických funkcí a funkcí k nim inverzních. Maxima, tak jako většina matematických programů, používá výhradně radiány!! (%i10) sin(a);cos(b);tan(a);cot(b); 16.12.2015 13:16 2

(%i14) asin(1);acos(1);atan(1);acot(1); Použití základních matematických konstant - Ludolfovo číslo "Pi", základ přirozeného logaritmu "e", imaginární jednotka "i", zlatý řez "phi". Výše uvedené znaky ("%pi", "%e", "%i" a "%phi") nepoužívejte pro označení jiných hodnot. (%i18) %pi;%e; %i; %phi; (%i22) float(%pi);float(%e); float(%i); float(%phi); (%i26) log(%e); Jak je zřejmé, funkce "log" je přirozený logaritmus. (%i27) %i^2; (%i28) float(1/%phi-%phi); 2 Přiřazení výrazu, rovnice a definice funkce. Pro další práci je nutné pochopit rozdíl mezi přiřazením, funkcí a rovnicí. Přiřazení je pojmenování výrazu pomocí nového názvu. Funkce je 16.12.2015 13:16 3

program nebo procedura jejíž výstup je závislý na vstupních hodnotách. (%i29) kill(all)$ (%i1) a:5; b:10; (%i3) prirazeni:a+b; Syntaxe pro zápis (definici) funkce je následující: "název funkce(vstupní proměnná 1, vstupní proměnná 2,...):=funkční závislost;" Funkce se tedy definuje pomocí znaku ":=". Hodnotu funkce dostaneme pokud napíšeme "název funkce(vstup 1, vstup 2,...);", kde vstupní proměnná je hodnota (nebo obor hodnot, např. čas) ve které nás velikost funkce zajímá. (%i4) soucet(a,b):=a+b; (%i5) soucet(a,b); Pokud chceme zrušit přiřazení (zapomenout) a=5 a b=4, použijeme příkaz "kill(a,b)" (%i6) kill(a,b); (%i7) soucet(a,b); Rovnici lze definovat jako výraz kde levá strana (lhs) je od pravé strany (rhs) oddělena znakem "=" a zároveň platí, že levá strana se rovná pravé. Pokud je levá (pravá) strana rovna nule, lze nulovou staranu včetně znaku "=" vynechat. Definujme soustavu rovnic "a+b=10" a "a+2b-13=0". (%i8) rovnice_1:a+b=10; rovnice_2:a+2*b-13; 16.12.2015 13:16 4

(%i10) lhs(rovnice_1); (%i11) rhs(rovnice_1); Pro vyřešení této soustavy dvou lineárních rovnic o dvou neznámých, použijeme příkaz "linsolve ([rovnice_1,..., rovnice_n], [neznámá_1,..., neznámá_n])". Počet rovnic musí být samozřejmě stejný jako počet neznámých. Nejprve je nutné nastavit proměnnou "globalsolve" z hodnoty "false" na "true" (Maxima automaticky přiřadí neznámým vypočítané hodnoty, pokud existuje více možných řešení Maxima výsledek nepřiřadí a správnou hodnotu je třeba přiřadit ručně). Bohužel velmi často i přes správně nastavené "globalsolve" Maxima jednoznačný výsledek nepřiřadí-poznáme to tak, že ve výsledku je místo znaku pro přiřazení":" znak pro rovnost "=". Tato chyba se projevuje náhodně (obvykle u příkazu pro počítání s nelineárními rovnicemi "solve") a nepodařilo se mi ji nijak opravit. I v tomto případě je tedy nutné opět výsledky přiřadit ručně. V našem případě tedy: (%i12) globalsolve: true; linsolve([rovnice_1,rovnice_2],[a,b]); (%i14) a; (%i15) rovnice_3:a*x^2+b*x-a; (%i16) reseni_kvadr_fce:solve(rovnice_3,x); Je zřejmé, že kvadratická rovnice "rovnice_3" má dvě řešení. Tato řešení jsme pojmenovali jako "reseni_kvadr_fce". "reseni_kvadr_fce" je pole o dvou prvcích, kde jednotlivé prvky 16.12.2015 13:16 5

jsou jsou rovnice. První řešení je na pravé straně rovnice v prvním prvku a druhé řešení na pravé straně rovnice v druhém prvku. Výběr pravé (levé) strany provedeme pomocí příkazu "rhs" ("lhs"). (%i17) x_1:rhs(reseni_kvadr_fce[1]); x_2:rhs(reseni_kvadr_fce[2]); (%i19) x_1; 3 Kreslení grafů (%i20) kill(all)$ Pro vykreslení 2D nebo 3D grafů slouží příkaz "plot2d" resp. "plot3d". Zpracováním těchto příkazů otevře Maxima nové okno ve kterém vykreslí požadovaný graf. Tyto grafy jsou interaktivní a lze s nimi dále pracovat. Chceme-li, aby byl graf součástí dokumentu, použijeme příkaz "wxplot2d" resp. "wxplot3d". Maxima na základě těchto příkazů vytvoří v dočasné složce obrázek a ten vloží do dokumentu pod zadaný příkaz. Základní zápis příkazu je následující: "wxplot2d([funkce_1,funkce_2,...],[parametr,odkud,kam])". Příkaz pro vykreslení funkce y1 = sin(x) a y2 = cos (x) pro x = 0..2*Pi bude vypadat: (%i1) wxplot2d([sin(x),cos(x)],[x,0,2*%pi])$ 16.12.2015 13:16 6

Pro vykreslení parametricky zadané křivky x = sin(t) a y = cos(t) s parametrem t = -Pi..Pi (hodí se pro kreslení trajektorií a fázorových diagramů): (%i2) wxplot2d([parametric, sin(t), cos(t), [t, -%pi, %pi]])$ Grafy lze pomocí mnoha parametrů doplnit o mnoho užitečných vlastností. Základní si ukážeme na zobrazení naměřených bodů "xy" 16.12.2015 13:16 7

a funkci "y=2*pi*sqrt(x/980)" pro x = 0..50. První řádek definuje sadu hodnot které jsme získali např. z experimentálního měření (např. "0.6" lze zapsat s vynecháním nuly ".6". Dále následuje "wxplot2d" pro zobrazení grafů "[discrete,xy]" znamená vykresli sadu nespojitých (diskrétních) hodnot ze seznamu "xy" - první funkce "[2*Pi*sqrt(x/980)]" definování funkce "y=2*pi*sqrt(x/980)" - druhá funkce "[x,0,50]" hodnoty v ose x jsou od 0 do 50 "[style, points, lines]" definuje styl zobrazených grafů - "[style, nastavení první funkce, nastavení druhé funkce,...]" points - body (lze nastavit tvar) lines - čáry (lze nastavit tloušťku) linespoints - čáry + body dot - tečky "[color, red, blue]" definuje barvu zobrazených grafů - "[color, barva první funkce, barva druhé funkce,...]" Lze použít následující barvy: 1: blue, 2: red, 3: magenta, 4: orange, 5: brown, 6: lime and 7: aqua "[point_type, asterisk]" pokud použijete pro vykreslení grafu styl "points" lze nastavit tvar bodu : bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge "[legend, "experiment", "theory"]" - legenda ke grafům "[legend, "název první funkce", "název druhé funkce",...]"!názvy musí být v úvozovkách! Parametr "[legend, false]" skryje zobrazení legendy. "[xlabel, "pendulum's length (cm)"]" "[ylabel, "period (s)"]" - popisky os.!opět musí být celý název osy v úvozovkách! Více se lze dočíst v nápovědě pod heslem "plot_options". (%i3) xy: [[10,.6], [20,.9], [30, 1.1], [40, 1.3], [50, 1.4]]$ wxplot2d( [ [discrete, xy], 2*%pi*sqrt(x/980) ], [x,0,50], [style, points, lines], [color, red, blue], [point_type, asterisk], [legend, "experiment", "theory"], [xlabel, "pendulum's length (cm)"], [ylabel, "period (s)"])$ 16.12.2015 13:16 8

4 Derivace a integrály (%i5) kill(all); Pro derivování výrazu používáme funkci "diff", která se zapisuje pomocí následující syntaxe: "diff(derivovaná funkce nebo výraz, proměnná_1, proměnná 2,...)" nebo pro násobné derivace "diff(derivovaná funkce nebo výraz, proměnná, kolikátá derivace)". Napíšeme-li před jakoukoliv funkci jednoduchou úvozovku (v našem případě "'diff") potom se zobrazí tato funkce symbolicky, ale program funkci nespustí. Pro spuštění této funkce (např. až v konečném výsledku) slouží parametr "nouns). Ukažme si použití funkce "diff" na jednoduchém příkladu z kinematiky. Dráha je zadána jako "x(t)=a*cos(omega*t)", určete rychlost a zrychlení. (%i1) x(t):=a*cos(%omega*t); (%i2) v:diff(x(t),t); 16.12.2015 13:16 9

(%i3) a:diff(v,t); Zrychlení lze vypočítat také jako druhou derivaci dráhy (%i4) a:diff(x(t),t,2); Ukázka využití jednoduchého uvozovaní příkazu (derivace jsou symbolické, provedou se po použití parametru "nouns" (%i5) v:'diff(x(t),t); (%i6) a:'diff(v,t); a,nouns; (%i8) kill(all); ukázka derivace kvadratické funkce (%i1) rov:a*x(t)^2+b*x(t)+c; (%i2) drov:diff(rov,t); (%i3) ddrov:diff(rov,x(t)); Ukažme si neurčitou integraci předchozího výrazu (%i4) integrate(ddrov, x(t)); 16.12.2015 13:16 10

Je zřejmé, že maxima zapomíná připočítat integrační konstantu!! Pro praktické použití je nutné řešit úlohy typu f'(x)=g(t)-kinematika nebo f''(x)=g(t)-dynamika volný pád (%i5) rovnice:diff(v(t),t)=-g; rovnici lze ručně!! separovat (a to nechceme) a rěšit, nebo lze použít nástroj pro řešení ODR (obyčejných diferenciálních rovnic, anglicky ODE) (%i6) reseni:ode2(rovnice,v(t),t); Jak je vidět, maximě chybí počáteční podmínky a úlohu tedy řeší pomocí obecné integrační konstanty Počáteční podmínky předepíšeme příkazem "ic1", předpokládejme v(t=0)=v0 (%i7) ic1(reseni,v(t)=v0,t=0); 5 Lineární algebra Created with wxmaxima. 16.12.2015 13:16 11