MATLAB® ( Funkce v Matlabu ).

Slides:



Advertisements
Podobné prezentace
Počítačové modelování dynamických soustav
Advertisements

Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
MATLAB® ( speciální 2D grafy polar, compass, feather,
Programování funkcí v Excelu (pole)
MATLAB vytváření funkcí, grafika
(Matrix Laboratory) MATLAB® (Matrix Laboratory)
Programování funkcí v Excelu
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Aplikační počítačové prostředky X15APP MATLAB - SIMULINK
ALGO – Algoritmizace 7. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
MATLAB.
Programování v Pascalu Přednáška 5 RNDr. Hana Havelková.
Algoritmizace a programování Podprogramy v Delphi - 10
Příklady z Matlabu (6) Příklady na 2D-grafy.
Středoevropské centrum pro vytváření a realizaci inovovaných technicko-ekonomických studijních programů Registrační číslo CZ.1.07/2.2.00/ Tento.
Programování v C++ Cvičení.
Principy překladačů Běhová podpora Jakub Yaghob. Běhová podpora Statická podpora jazyka Překladač Interface na knihovny Hlavičkové soubory Dynamická podpora.
Principy překladačů Mezikód Jakub Yaghob.
Materiály k přednášce Úvod do programování Ondřej Čepek.
Generování mezikódu Jakub Yaghob
Příklady z Matlabu 4 Příklady na řídící příkazy , IF , SWITCH , FOR , WHILE , příkazy vstupu a výstupu INPUT a DISP.
( vstupy a výstupy v Matlabu na konzolu [ do Command Windows]
MATLAB® ( část 3 - scripty).
Příklady z Matlabu (5) Jednoduché scripty.
Základy Visual Basicu.
Základy teorie řízení Frekvenční charakteristika
Procedury a funkce Základní charakteristika a použití v programu.
Práce se soubory. * soubory patří k základním datovým prvkům v počítači * převážná většina programovacích jazyků má podporu určité formy práce se soubory.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
MATLAB LEKCE 5.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B8 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
MATLAB LEKCE 1.
ALGO – Algoritmizace 2. cvičení
( Numerická integrace )
Práce se soubory Soubory se používají pro ukládání dat pro pozdější použití. Dalším a lepším způsobem jak ukládat data je použití databáze. Soubory se.
Použití uživatelských funkce Excelu
MATLAB LEKCE 6.
Současný svět Projekt č. CZ /3. 1
Počítače a programování 1
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
Informatika I 7. přednáška RNDr. Jiří Dvořák, CSc.
Informatika I 8. přednáška RNDr. Jiří Dvořák, CSc.
2 CYKLUS S PEVNÝM POČTEM OPAKOVÁNÍ Podle řídící proměnné proveď n-krát příkaz P1.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Příkaz "echo" Příkaz "echo" Příkaz "echo" se používá pro zobrazení daných informací na monitoru. Příkaz "echo" se používá pro zobrazení daných informací.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
MATLAB® ( část 6).
Aplikační počítačové prostředky X15APP MATLAB Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, Praha 6 Ing. Zbyněk Brettschneider.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B3 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Aplikační počítačové prostředky X15APP MATLAB cvičení 4
Napište funkci – jmenuje se „prubehy“ (M-file), která spočte průběhy 2 funkcí y1 = cos x y2 = (cos x + sin 2x ) / 2 Funkce bude mít vstupní parametr x.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Vytvořte funkci (m-file) jménem vypocet, kde jako vstupní parametry budou vektory x a y a výstupním parametrem funkce bude Z. V těle funkce spočtěte funkci.
Podprogramy (subroutines) Pojmenované kousky programu, které –tvoří logicky ucelené části –se v programu opakují Jsou zapsány na jednom místě a v případě.
OSNOVA: a)3D grafické výstupy – doplnění b)Práce se soubory Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST.
Práce pro profesionály Cvičíme se v MATLABu © Leonard Walletzký, ESF MU, 2003.
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Moduly.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Programování v jazyce C++
Databázové systémy a SQL
Podprogramy.
MU002 – Informační technologie Základy algoritmizace 5/13
Transkript prezentace:

MATLAB® ( Funkce v Matlabu )

Funkce Funkce je samostatný m-file může mít (ale nemusí) několik vstupních a výstupních parametrů m-file definující funkci je uvozen hlavičkou funkce: function {[out1,out2,...]=} funkce1(inp1,inp2,...) přenos hodnot: - přes vstupní parametry funkce má svůj paměťový prostor, který nesdílí s jinými scripty ani s hlavním programem

Příklad (funkce s jedním vstupním parametrem): % function funkce1(vstpar) all=vstpar b22=all^2 whos Všechny proměnné včetně vstupních parametrů definované uvnitř funkce jsou použitelné jen uvnitř funkce a nejsou v prostředí workspace. Vyvolání funkce: funkce1(100) Volání funkce uvnitř scriptu: Funkce vykoná svůj kód a řízení je předáno na instrukci bezprostředně následující za vyvoláním funkce.

Příklad (soubor Adam1.m) : a=10; b=12+25i; c=a+abs(b); funkce1(c); % volání a spuštění funkce whos Vyvolání scriptu s voláním funkce: Adam1 proměnné definované v rámci hlavního scriptu jsou vidět v jeho paměťovém prostoru proměnné definované uvnitř funkce jsou vidět jen uvnitř funkce a nejsou po skončení funkce u přístupné => jedn8 se o tzv. lokální proměnné

Volání funkce uvnitř jiné funkce Každá funkce má i formální a skutečné parametry, které jí musí být při vyvolání předány. Příklad: % Funkce Pok1.m function Pok1(vstpar) Pocetgrafu=vstpar; % počet budoucích grafů t=0:6*pi/100:6*pi; % definice časové osy Pok2(Pocetgrafu,t); % volání další funkce se 2 vstupními parametry % Funkce Pok2.m function Pok2(vstpar1,vstpar2) Pocgraf=vstpar1; % počet grafů (skalár) t=vstpar2; % časová osa (vektor) u=sin(t); for k=1:Pocgraf subplot(1,Pocgraf,k); plot(t,u); end vyvolání: Pok1(2)

Funkce bez vstupního parametru Příklad: proměnná, která se jindy předává přes parametr může být definována v těle funkce natvrdo. Příklad: % Funkce Pok1a.m function Pok1a Pocetgrafu=2; % počet budoucích grafů t=0:6*pi/100:6*pi; % definice časové osy Pok2(Pocetgrafu,t); % volání další funkce se 2 vstupními parametry % Funkce Pok2.m function Pok2(vstpar1,vstpar2) Pocgraf=vstpar1; % počet grafů (skalár) t=vstpar2; % časová osa (vektor) u=sin(t); for k=1:Pocgraf subplot(1,Pocgraf,k); plot(t,u); end vyvolání: Pok1a

Funkce volající sama sebe neexistuje nekonečná rekurze – přeplnění zásobníku => chybové hlášení Příklad na konečnou rekurzi (rekurzivní výpočet Faktoriálu): function y=FAKT(N) if N==0 y = 1; else y = N * FAKT(N-1); end; Vyvolání: FAKT(5) FAKT(11)

Vytvoření funkce se dvěma či více výstupními parametry: Příklad: function [vyst1,vyst2]=funkce2vystpar vyst1=10^2+log10(1000); vyst2=exp(-0.1)*abs(2+3i); Vyvolání: [a,b]=funkce2vystpar

funkce s proměnným počtem vstupních parametrů: s využitím funkce varargin(:) a nargin Příklad: function funkcep(varargin) disp(' Pocet argumentu je : ' ) ; nargin S=varargin(:) Vyvolání: funkcep(1,10) funkcep(1,10,2+3i)

funkce s proměnným počtem výstupních parametrů: s využitím funkce varargout(:) a nargout Příklad: function varargout=funkcepo for k=1:nargout varargout(k)=10*k; end Vyvolání: [a,b]=funkcepo [a,b,c,d]=funkcepo

více funkcí v jednom souboru m-file : je vhodné v případech, kdy chceme šetřit rychlost. Podle první funkce se jmenuje m-file, která se odkazuje na druhou ev.další funkci napsanou ve stejném m-file. Nesmí existovat reference odjinud na vnitřní funkce m-file než z tohoto m-file. Příklad: ( soubor: Pok12.m ) function Pok12(vstpar) Pocetgrafu=vstpar; t=0:6*pi/100:6*pi; Pok123(Pocetgrafu,t) function Pok123(vstpar1,vstpar2) Pocgraf=vstpar1; t=vstpar2; u=sin(t); for k=1:Pocgraf; subplot(1,Pocgraf,k); plot(t,u); end;

Zápis formátovaných dat do textového řetězce příkaz SPRINTF( ... ) Příkaz může mít několik parametrů, jimiž mohou být texty, formátovací řetězce a proměnné. Příklad: s=sprintf('\n%10.5f',pi) kde % je začátek konverze 10 je šířka pole 5 je počet míst za des.tečkou f je konverze do pevné řádové čárky (viz tabulka u konverze num2str ...)

Zápis dat do souboru příkazem FPRINTF práce s příkazy FOPEN/FPRINTF/FCLOSE t=0:4*pi/10:4*pi; u=sin(t); Data=[t u]; soubor=fopen('c:\Pokus01.txt', 'w') fprintf(soubor, ' %6.2f %12.8f \n ',Data); fclose(soubor)

Parametry příkazu FOPEN: Význam r soubor jen pro čtení (implicitně) w pro zápis (založí nový,nebo přepíše stávající) a pro zápis (založí nový,nebo přidá za stávající) r+ otevře soubor pro čtení i zápis w+ jako u w , ale pro čtení i zápis a+ jako u a , ale pro čtení i zápis A jednorázové připojení nového obsahu do souboru W jednorázový zápis nového obsahu do souboru

Čtení dat do souboru příkazem FSCANF práce s příkazy FOPEN/FSCANF/FCLOSE fid = fopen('exp.txt'); a = fscanf(fid,'%g %g',[2 inf]) a = a'; fclose(fid) Matice se plní po sloupcích, rozměry jsou definovány m x n, kde n může být INF (čtení do konce souboru) A(1:30)=0; mm=int32(1); h=fopen('Vstup.txt'); A=fscanf(h,'%d',[5 5]); A'