Úvod do programu MAPLE

Podobné dokumenty
MAPLOVSKY PROGRAMOVACI JAZYK

Základy algoritmizace a programování

Nalezněte hladiny následujících funkcí. Pro které hodnoty C R jsou hladiny neprázdné

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

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

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Stručný návod k programu Octave

Programovani v Maplu Procedura

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

NPRG030 Programování I, 2016/17 1 / :58:13

Algoritmizace a programování

Sada 1 - Základy programování

NPRG030 Programování I, 2010/11

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

Basic256 - úvod do programování Příklady. ing. petr polách

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

Základy algoritmizace a programování

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

MATURITNÍ TÉMATA Z MATEMATIKY

KTE / PPEL Počítačová podpora v elektrotechnice

Programovací jazyk Pascal

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Základy algoritmizace a programování

E+034 = ; = e E+034

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

1. Krivky. krivky zadane parametrickymi rovnicemi. Primka rovnobezna s osou y. Primka rovnobezna s osou x

PROGRAMOVÁNÍ V SHELLU

Úvod do programování. Lekce 3

Příloha Jazyk Coach

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Internetová adresa osobní stránky:

Základy matematiky pro FEK

Bakalářská matematika I

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou

Úvod do práce s Matlabem

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

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é

Gymnázium Jiřího Ortena, Kutná Hora

Teorie. Hinty. kunck6am

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

MATEMATIKA II - vybrané úlohy ze zkoušek (2015)

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Maturitní okruhy z matematiky - školní rok 2007/2008

Úvod do programu MAXIMA

Maturitní témata z matematiky

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Tematický plán Obor: Informační technologie. Vyučující: Ing. Joanna Paździorová

Maturitní témata profilová část

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

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 +

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Operace s vektory a maticemi + Funkce

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

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

Řešení diferenciálních rovnic v MATLABu

MATEMATIKA I. prof. RNDr. Gejza Dohnal, CSc. II. Základy matematické analýzy

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

KALKULÁTORY EXP LOCAL SIN

CZ 1.07/1.1.32/

Matematika. ochrana životního prostředí analytická chemie chemická technologie Forma vzdělávání:

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Obsah Obyčejné diferenciální rovnice

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é

Paměť počítače. alg2 1

VISUAL BASIC. Práce se soubory

Programování v jazyce JavaScript

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

8.4. Shrnutí ke kapitolám 7 a 8

2. přednáška (grafika a maplovský programovací jazyk)

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

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí

Teorie. Hinty. kunck6am

Řídicí struktury. alg3 1

8. Posloupnosti, vektory a matice

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

Algoritmizace a programování

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

NPRG030 Programování I, 2018/19 1 / :25:37

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace

II. Úlohy na vložené cykly a podprogramy

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Rejstřík - A - - B - - E - - C - - F - - D - Rejst ík

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

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

LEKCE 6. Operátory. V této lekci najdete:

0.1 Úvod do matematické analýzy

Transkript:

Úvod do programu MAPLE MAPLE V Release 9 (11) M. Jahoda Ústav chemického inženýrství VŠCHT Praha http://www.vscht.cz/uchi/maple http://www.maplesoft.com 2007

MAPLE pracovní plocha 2

MAPLE - nastavení fontů 3

MAPLE nastavení programu 4

MAPLE - pracovní skupiny 5 Skupiny na pracovní ploše

MAPLE přepočet celé pracovní plochy 6

MAPLE - uložení pracovního prostředí 7 Uživatelské soubory PATŘÍ do uživatelských adresářů!

MAPLE - výpočty 8 Výpočty se vkládají na příkazový řádek, který končí buď : nebo ; : výsledek se neznázorní ; výsledek se znázorní na konci skupiny do výsledkové oblasti > 2 + 3: > 2 + 3; 5 Výraz může být rozložen na několik řádků, bude vykonán až po nalezení ukončovacího znaku > 2 + > 3; 5 Jména proměnných NELZE rozdělovat!

MAPLE - aritmetické příkazy 9 > Proměnná := výraz; Jména proměnných: rozlišení VELKÝCH a malých písmen jméno nesmí obsahovat: mezeru a speciální znaky #^*:;></ některá slova jsou vyhrazena: Re, Pi, D, Při vkládání příkazů nezáleží na pořadí > a:=5: > b:=3: > c:= a + b; c:=8 > c:= a + b; > b:=3: > a:=5: c:=8 MAPLE užívá symbolovou matematiku, tzn. pamatuje si zadání rovnic

MAPLE - koncepce výpočtu 10 Co dodržovat: jednotnou formu tvorby jmen proměnných jasný a přehledný zápis příkazů užití textového popisu členění výpočtu do logických oblastí na počátku zadat známé hodnoty výpočet koncipovat co nejvíce obecně Doporučeno: na prvnípříkazovém řádku příkaz > restart: před výpočtem uložit pracovní oblast přepočítat celou oblast od začátku

MAPLE - základní aritmetické výpočty 11 x+y součet x-y rozdíl x*y součin x/y podíl x^y nebo x**y mocnina abs(x) absolutní hodnota x! faktoriál sqrt(x) nebo x^(1/2) druhá odmocnina exp(x) exponenciální funkce ln(x) nebo log(x) přirozený logaritmus log10(x) dekadický logaritmus sin(x) funkce sinus cos(x) funkce cosinus tan(x) funkce tangens Pi Ludolfova konstanta (3,141592654)

MAPLE - základní aritmetické výpočty 12 Znázornění nečíselných výsledků evalf() > Pi; π > evalf(pi); 3.141592654 > a:=4/3; > evalf(a); a := 4 3 1.3333333 > Plocha:=(Pi*d^2)/4; 1 Plocha := πd 2 4 > d:=0.2: > Plocha; > evalf(plocha);.010000000 π.03141592654

MAPLE - řešení nelineárních rovnic 13 fsolve(<rovnice>, <hledané proměnné>, <parametry>)! > f1 := y = 3*x^3-5*x: > f2 := y = x^2-2: > fsolve({f1,f2},{x,y}); {x = 1.242775801, y = -.4555083087} y y = 3x = x 2 3-5x - 2 > fsolve({f1,f2},{x,y}, x=0..1); {x =.4073721348, y = -1.834047944} > fsolve({f1,f2},{x,y}, x=-1.5..0); {x = -1.316814602, y = -.2659993030} > fsolve({f1,f2},{x,y}, {x=0..1.5,y=-.5..0}); {x = 1.242775801, y = -.4555083087}

MAPLE - řešení rovnic - problémy 14 > f1 := y = 3*x^3-5*x: > f2 := y = x^2-2: > fsolve({f1,f2},{x,y}); {x = 1.242775801, y = -.4555083087} Přiřazení vypočtených hodnot assign() > f1 := y = 3*x^3-5*x: > f2 := y = x^2-2: > s:=fsolve({f1,f2},{x,y}); s:= {x = 1.242775801, y = -.4555083087} > assign(s): > x; 1.242775801 MAPLE hodnoty x a y znázorní, ale pro další výpočty je nezná: >x; x Po užití příkazu assign nelze opět použít fsolve dokud hodnotu proměnné neodeberme unassign() > unassign( x, y ): Jména proměnných musí být v apostrofech.

MAPLE - řešení diferenciálních rovnic 15 dsolve(<rovnice, poč.podmínky>,<jména proměnných>,<parametry>) dy dx + y cos(x) = sin(2x) > dsolve(diff(y(x),x) + y(x)*cos(x) = sin(2*x), y(x)); y ( x) = 2 sin(x) - 2 + (-sin(x)) e _ C1 Pokud je počáteční hodnota y rovna 0: y(0)=0 > d1:=diff(y(x),x) + y(x)*cos(x) = sin(2*x): > s1:=dsolve({d1, y(0)=0}, y(x)); s1 : = y( x) = 2 sin(x) - 2 + (-sin(x)) e

MAPLE - řešení diferenciálních rovnic Počáteční hodnota y je 0: y(0)=0 a zároveň nás zajímá výsledná hodnota funkce pro x = 1 16 > d1:=diff(y(x),x) + y(x)*cos(x) = sin(2*x): > s1:=dsolve({d1, y(0)=0}, y(x), type=numeric); s1 := proc(rkf45_x) end > s1(1); [x = 1, y(x) =.5450938736403281 nebo > d1:=diff(y(x),x) + y(x)*cos(x) = sin(2*x): > s1:=dsolve({d1, y(0)=0}, y(x)); (-sin(x)) s1 : = y( x) = 2 sin(x) - 2 + e > assign(s1): > x:=1: > evalf(s1); y(1) = 0.540938712

MAPLE - integrály 17 int(<funkce>,<jméno proměnné>) Obecné řešení 3 2 (x - 3x + 1) dx > int(x^3-3*x^2+1, x); 1 4 > fx := x^3-3*x^2+1: > int(fx, x); 1 x 4 x 4 nebo 4 x x 3 3 + x + x Určitý integrál 4 3 2 (x - 3x + 1) dx 0 > fx := x^3-3*x^2+1: > int(fx, x=0..4); 4

MAPLE - grafy 2D - funkce 18 plot(<funkce>,<osa x>,<osa y>,<parametry>) Příklad: > plot(x^2, x = -1..1, color = red, style = point, symbol = circle); Nepovinné parametry style point line symbol box cross circle point diamond thickness 0 1 2 3 color black blue red cyan green yellow linestyle 0, 1, 6 a více spojitá čára 2, 3, 6 čárkovaná čára

MAPLE - grafy 2D - z numerických dat 19 > restart: > with(plots): > dataxy:= [[1,1], [2,4], [3,9], [4,16], [5,25]]: > pointplot (dataxy, symbol = circle); nebo > X := [1, 2, 3, 4, 5]: > Y := [1, 4, 9, 16, 25]: > dataxy := array([x, Y]): > pointplot(dataxy, symbol = circle);

MAPLE - grafy 2D - více křivek v jednom grafu 20 > with(plots) # volani graficke knihovny > fce1 := plot(x + x^2, x = 0..3, color = red): > fce2 := plot(x + x^0.5, x = 0..3, color = blue): > XYdata := [[1, 6], [1.5, 5], [2, 4], [2.5, 3], [3, 2]]: > dataxy := plot(xydata, style = point, symbol = circle, color = green): >display({fce1, fce2, dataxy});

MAPLE - programování: logické operace if <podmínka> then <příkaz> elif <podmínka> then <příkaz> else <příkaz> fi 21 tyto výrazy jsou nepovinné příkazy za then se vykonají, pokud je podmínka pravdivá konstrukcí elif můžete mít v rozhodovacím členu kolik chcete podmínka může obsahovat relační operátory logické operátory logická jména = rovno and logický součin true pravda > větší než or logický součet false nepravda < menší než not negace <> nerovno >= větší nebo rovno <= menší nebo rovno rozhodovací členy lze vnořovat není-li ani podmínka if ani žádná podmínka elif pravdivá, vykonají se příkazy následující klauzuli else, pokud je v příkazu uvedena

MAPLE - programování: logické operace - příklad Máme zadanou hodnotu A a rozhodujeme o hodnotách B, C Hodnota B = A, jestliže A je menší než nula. Hodnota C= A, jestliže A je větší než nula. Jestliže A = 0, výpočet se zastaví. >restart: >A:=0: # vstupni hodnota >if A=0 then >ERROR(`Nulová hodnota A`) >elif A > 0 then C:=A: >elif A < 0 then B:=A: >fi; 22 >restart: >A:=0: # vstupni hodnota >if A > 0 then >C:=A: >elif A < 0 then B:=A: >else >ERROR(`Nulová hodnota A`) >fi;

MAPLE - programování: logické operace - příklad vnoření 23 >restart: >A:=0: # vstupni hodnota >if A <> 0 then >if A > 0 then >C:=A: >else >B:=A: >fi; >else >ERROR(`Nulová hodnota A`) >fi; Vnoření rozhodovacích členů správně špatně

MAPLE - cykly 24 for <jméno_proměnné> from <výraz> by <výraz> to <výraz> while <výraz> do <posloupnost příkazů> od; Příklad for do > for i from 0 by 2 to 6 do > print(i): > od; 0 2 4 6 > for i from 3 by 1.5 to 6 do > print(i): > od; 3 4.5 6 Proměnná i nabývá hodnoty: od 0 from 0 do 6 to 6 s krokem 2 by 2 násobek nemusí být celé číslo

MAPLE - cykly 25 Příklad for do vnořené cykly > for i from 1 to 3 do > for j from 1 to 2 do > print(i,j): > od; > od; 1, 1 1, 2 2, 1 2, 2 3, 1 3, 2

MAPLE - cykly 26 Příklad while do > i := 0: > while i<6 do > i := i+2; > od; i := 0 i := 2 i := 4 i := 6 Přerušení cyklu break > k := 0; > while k<100 do > k := k+1; > if k = 5 then break fi: > od; k := 1 k := 2 k := 3 k := 4 k := 5

MAPLE - procedury 27 <jméno procedury>:= proc (<parametry>) local <místní proměnné>; options <parametry>; <soubor příkazů>; end; nepovinné Parametry options : remember builtin operator trace arrow angle system help: >?remember >?builtin

MAPLE - procedury - příklad 28 > f := proc(x, y) > x + y; > end; f := proc(x,y) x+y end definice procedury tělo procedury konec procedury > f(4,5); > g := f; > g(4,5); 9 g := f 9 znázornění procedury: > op(f); proc(x,y) x+y end > f := proc(x, y) > x + y; > end: > f(w, z); w + z > print(f); proc(x,y) x+y end

MAPLE - procedury - příklad 29 hledání maximální hodnoty ze tří čísel > max3 := proc(a, b, c) > print(`hledani maxima z cisel`, a, b, c); > if a < b then > if b < c then c else b fi > elif a < c then c > else a > fi; > end: definice procedury tělo procedury konec procedury max3(8,1,5); Hledani maxima z cisel, 8, 1, 5 8 > a:= max3(5,4,6); Hledani maxima z cisel, 5, 4, 6 a := 6

MAPLE - procedury - lokání proměnné 30 > g := proc(a) > a + 5; > end: > f := proc(x) > local y; > y := x + g(x); > if y>0 then > print(`vypocet ) > RETURN(y): > else > print(`nulova hodnota ) > RETURN(0): > fi: > end: > f(2); vypocet 9 > f(-5); nulova hodnota 0

MAPLE - procedury - kontrola vstupních hodnot 31 > m:=proc() > local vystup: > if nargs=0 then ERROR(`zadne vstupni hodnoty `) fi: > if not(type([args], list(numeric))) > then RETURN(`procname(args)`); > fi: > vystup := args[1]; > end: > m(); > m(4); >m(7,8); Error, (in m) zadne vstupni hodnoty 4 7

MAPLE - procedury - kontrola vstupních hodnot 32 > m:=proc() > local vystup: > if nargs=0 then ERROR(`zadne vstupni hodnoty `) fi: > if not(type([args], list(numeric))) > then RETURN(`procname(args)`); > fi: > vystup := args[2]; > end: > m(); > m(4); Error, (in m) zadne vstupni hodnoty Error, (in m) improper op or subscript selector >m(7,8); 8

MAPLE - datové typy 33 list table array list tvorba vektoru - ruční zadání > data1 := [1, 2, 3]; data1 := [1, 2, 3] > data2 := [4, 5, 6]; data2 := [4, 5, 6] > data3 := [op(data1), op(data2)]; data3 := [1, 2, 3, 4, 5, 6] prvek vektoru > data3[3]; 3 počet prvků vektoru > n := nops(data3); n := 6

MAPLE - vektory 34 tvorba vektoru - zadání cyklem > k := [0, 2, 4, 6]: > for i from 1 to 4 do > a[i] := k[i] *10: > lprint(i, a[i]); > od: 1 0 2 20 3 40 4 60 > a[2]; > a; 20 > a := convert(a, list); a := [0, 20, 40, 60] a

MAPLE - vektory 35 další možnost přepočtu vektoru (bez cyklu) > Kdata := [0, 2, 4, 6]: > a := evalf(map(x -> x*10, Kdata)); > a; > a[2]; a := [0, 20, 40, 60] 20

MAPLE - tables - tabulky 36 > VlnovaDelka := table([cervena=610, modra=480]); VlnovaDelka := table([ cervena=610 modra=480 ]) > VlnovaDelka[cervena]; 610 > VlnovaDelka[zelena]:=520: > VlnovaDelka; VlnovaDelka print(vlnovadelka); VlnovaDelka := table([ zelena=520 cervena=610 modra=480 ])

MAPLE - array -matice 37 > A := array([ [1,2,3],[x,x,5],[1/2, 4,-1]]); [1 2 3] A :=[x x 5] [1/2 4-1] maticové operace evalm maticový a vektorový součet + evalm(a + B) součin matice-matice &* evalm(a &* B) součin matice-vektor inverzní matice ^(-1) evalm(a^(-1)) exponent n ^(n) evalm(a^3) číselný součin * evalm(2*a)

MAPLE - vstup a výstup dat ze souboru 38 readdata( soubor, <typ>, <počet sloupců>) datový soubor data.txt existuje v adresáři c:\temp data.txt 0 10 1 20 2 30 > a := readdata( c:/temp/data.txt, integer,2); a := [[0, 10], [1, 20], [2, 30]] > a := readdata( c:/temp/data.txt, float,2); a := [[0, 10.], [1., 20.], [2., 30.]] > readlib(readdata):

MAPLE - vstup a výstup dat ze souboru 39 > a := readdata( c:/temp/data.txt, integer,2); a := [[0, 10], [1, 20], [2, 30]] > a[1]; [0, 10] > b:=covnert(a, table) b:= table([ (1,1) = 0 (1, 2) = 10 (2, 1) = 1 (2, 2) = 20 (1, 3) = 2 (2, 3) = 30 ]) > b[1, 2]; 10

MAPLE - vstup a výstup dat ze souboru 40 > print(b); b := table([ (1,1) = 0 (1, 2) = 10 (2, 1) = 1 (2, 2) = 20 (1, 3) = 2 (2, 3) = 30 ]) Přepočet všech prvků > c := map(x -> x^2, b); a := table([ (1,1) = 0 (1, 2) = 100 (2, 1) = 1 (2, 2) = 400 (1, 3) = 4 (2, 3) = 900 ])

MAPLE - vstup a výstup dat ze souboru 41 save(<proměnná1>, <proměnná2>,... <proměnnán>,`soubor`) > save(c, c:/temp/vystup.txt ):