Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

MATLAB vytváření funkcí, grafika. MATLAB : vytváření funkcí Vytváří se v okně Editoru: spustí se z hlavního menu, File, New, M-file okno Editoru obsahuje.

Podobné prezentace


Prezentace na téma: "MATLAB vytváření funkcí, grafika. MATLAB : vytváření funkcí Vytváří se v okně Editoru: spustí se z hlavního menu, File, New, M-file okno Editoru obsahuje."— Transkript prezentace:

1 MATLAB vytváření funkcí, grafika

2 MATLAB : vytváření funkcí Vytváří se v okně Editoru: spustí se z hlavního menu, File, New, M-file okno Editoru obsahuje vlastní menu pro práci s funkcí při ladění funkce lze použít krokovač (Debugger) function [vystup]=jmeno(vstup) příkazy příkazy Struktura funkce: oddělovač vstupů a výstupů je čárka komentář začíná % první komentář se zobrazí jako nápověda, help jmeno

3 MATLAB : vytváření funkcí Sestavte funkci pro výpočet délky řemenice mezi dvěma koly. d 1 … průměr prvního kola d 2 … průměr druhého kola d … vzdálenost os kol d1d1d1d1 d2d2d2d2 d

4 function [l]=Remen(d1,d2,d) % Delka remenice mezi dvema koly % [l]=Remen(d1,d2,d); % l... delka remenice % d1... prumer prvniho kola % d2... prumer druheho kola (d1>=d2) % d... vzdalenost os kol r1=d1/2; r2=d2/2; % vypocet polomeru obou kol % delka rovneho useku remenice dle Pythagora: lsikmo=sqrt(d^2-(r1-r2)^2); % uhel mezi rovnym usekem remenice a spojnici os kol: phi=asin((r1-r2)/d); omega1=pi+2*phi; % stredovy uhel na prvnim kole omega2=pi-2*phi; % stredovy uhel na druhem kole l1=omega1*r1; % delka oblouku remenice na prvnim kole l2=omega2*r2; % delka oblouku remernice na druhem kole l=l1+l2+2*lsikmo; % uz je to tady

5 MATLAB : vytváření funkcí Krokování nastavuje Debug v okně Editoru: nastaví se zastavení programu (Set/Clear Breakpoint) po spuštění se program zastaví na zvolené řádce Command Window se přepne do krokovacího režimu ( K>> ) lze vypisovat hodnoty proměnných krokování F10 / F11 / … (vyzkoušejte) zastavení programu pomocí podmínky (Conditional Breakpoint) zastavení při chybě, varování, NaN, Inf

6 MATLAB : vytváření funkcí function c=prepona(a,b) % Vypocet prepony c=sqrt(a^2+b^2); Příkaz input: prom = input( vysvětlující text ) % Hlavni program (skript) % Data a=input(’prvni odvesna=’); b=input(’druha odvesna=’); % volani funkce c=prepona(a,b)

7 MATLAB : vytváření funkcí function v=podil(x,y) if x~=0 v = y/x; v = y/x;end Příklady na If analogické jako ve VB: function s=test(a) if rem(a,2)==0 s=’Sude’; s=’Sude’;else s=’Liche’; s=’Liche’; end

8 MATLAB : vytváření funkcí function d=dan(prijem) if prijem<=91440 d = prijem*0.15; d = prijem*0.15; elseif prijem<= d = ((prijem-91440)*0.2); d = ((prijem-91440)*0.2); elseif prijem<= d = ((prijem )*0.25); d = ((prijem )*0.25); elseif prijem<= d = ((prijem )*0.32); d = ((prijem )*0.32);else d = ((prijem )*0.4); d = ((prijem )*0.4);end

9 MATLAB : vytváření funkcí function f=fakt(n) f=1; for i=1:n f=f*i; f=f*i;end Příklady na For analogické jako ve VB:

10 MATLAB : vytváření funkcí function e=euler(epss) e=1; f=1; i=1; clen=1; while clen>=epss f = f*i; f = f*i; clen = 1/f; clen = 1/f; e = e + clen; e = e + clen; i = i+1; i = i+1;end Příklady na While analogické jako ve VB na Do:

11 MATLAB : 2D grafika Příkaz plot: plot(x,y,’l’) x … x-ové souřadnice, y … y-ové souřadnice, l … barva, symbol otevře se grafické okno Figure s grafem vyzkoušejte help plot grid … přidá pomocnou mřížku axis([xmin,xmax,ymin,ymax]) … změna rozsahu nastavení xlabel(’text’), ylabel(’text’) … popisy os text(x,y,’text’) … vložení textu do bodu (x,y) gtext(’text’) … vložení textu do bodu kliknutí myší title(’text’) … nadpis grafu hold on … nakreslený graf nebude vymazaná při dalším kreslení … vypne hold off

12 MATLAB : 2D grafika Znázorněte funkce y 1 = e x, y 2 = e 2x, y 3 = e x/2 na intervalu s krokem h=0.1. clear all; close all % mazání proměnných, graf. oken a=-1; b=1; h=0.1; % meze intervalu a krok x=a:h:b; x=x'; y1=exp(x); y2=exp(2*x); y3=exp(x/2); plot(x,[y1 y2 y3]) % graficka vylepseni grid % mrizka axis([ ]) % rozsah nastavení xlabel('x'), ylabel('f(x)'), title('Exponencialni funkce') plot(x,y1) figure(1) % nove okno pro grafiku plot(x,y2,'r.') % styl zobrazeni hold on % drzeni okna plot(x,y1,'b:') % styl zobrazeni

13 MATLAB : 3D grafika Zobrazení ploch a prostorových křivek: mesh(x,y,z), plot3(x,y,z) meshc, surf, surfc, surfl, surface, contour … x, y, z … x-ové, y-ové, z-ové souřadnice meshgrid … vygeneruje souřadnice bodů surface … vytváří objekt, který lze dále upravovat contour … průmět do roviny x,y vytvoří ”vrstevnice” colormap, colorbar … nastavení barev, kombinuje se červená-zelená-modrá v rozsahu

14 MATLAB : 3D grafika [x,y]=meshgrid(-2:.1:2); % vytvoreni site z=-x.*exp(-x.^2-y.^2); % definice funkce plot3(x,y,z) % nejjednodussi zobrazeni % zobrazeni v barvach mesh(x,y,z), title('graf fce'), xlabel('x'), ylabel('y') colormap([0 0 1]) % změna barevne skaly, modra figure(2), meshc(x,y,z) % navic prumet do roviny x,y figure(3), surf(x,y,z) % povrch, vypada jako pevne teleso surfc(x,y,z) % a jeste prida prumet do roviny x,y surfl(x,y,z) % nasvetleni objektu, default 45 stupnu s=[80,10]; surfl(x,y,z,s) % vlastni nasvetleni, s=[azimut, elevace] % lze vtvorit surface jako objekt a potom s nim pracovat s1=surface(x,y,z); get(s1) % prumet do roviny contour(x,y,z)

15 MATLAB : grafický objekt Grafické okno Figure je objekt gcf (číslo aktuálního grafického okna). obecný příkaz pro práci s objektem název = příkaz(vlastnost,hodnota) např. aaa=figure(1) nastavení vlastnosti objektu set(objekt,vlastnost,hodnota) výpis vlastností objektu get(objekt)

16 MATLAB : grafický objekt % Definice umístení grafického okna a jeho vlastností figure; % otevreni okna % pozice okna set(gcf,'Units','Normal','Position',[0.4,0.5,0.5,0.3]) % pozice souradneho systemu s1=axes('Position',[0.1,0.1,0.8,0.7]) plot(sin(0:pi/10:2*pi)) % graf fce % zjisti vlastnosti grafickeho okna get(gcf) % zjisti vlastnosti grafu v ramci okna get(s1) % Vybrane vlastnosti objektu s1 a jejich prednastaveni % Color [x y z] barva plochy grafu set(s1,'Color',[1 0 0]) % cervena set(s1,'Color',[0 1 0]) % zelena set(s1,'Color',[0 0 1]) % modra … pokračuje …

17 MATLAB : grafický objekt … pokračování … % Box on/off obrys grafu set(s1,'Box','off') set(s1,'Box','on') % Dalsi, napr. pro popis grafu % FontName 'jmeno', FontSize [velikost], % LineWidth [velikost], NextPlot 'replace' % Visible on/off viditelnost grafu % XColor, YColor, ZColor barva os, vztahuje se i na grid % Nelze menit barvu grafu, je to jiny objekt!!!

18 MATLAB : grafický objekt Nastavení více grafických polí v jednom okně: subplot % a) 2 grafy pod sebou subplot(211), plot(sin(0:pi/10:2*pi)) subplot(212), plot(cos(0:pi/10:2*pi)) % b) 2 grafy vedle sebe figure; subplot(121), plot(sin(0:pi/10:2*pi)) subplot(122), plot(cos(0:pi/10:2*pi)) % c) 4 grafy figure; subplot(221), plot(sin(0:pi/10:2*pi)) subplot(222), plot(cos(0:pi/10:2*pi)) subplot(223), plot(2*sin(0:pi/10:2*pi)) subplot(224), plot(2*cos(0:pi/10:2*pi)) % d) 3 g. spodni vetsi figure; subplot(221), plot(sin(0:pi/10:2*pi)) subplot(222), plot(cos(0:pi/10:2*pi)) subplot(212), plot(2*cos(0:pi/10:2*pi))


Stáhnout ppt "MATLAB vytváření funkcí, grafika. MATLAB : vytváření funkcí Vytváří se v okně Editoru: spustí se z hlavního menu, File, New, M-file okno Editoru obsahuje."

Podobné prezentace


Reklamy Google