echo on % Zaklady Matlabu 3. % Textove retezce % % Skript spousti jednotlive prikazy, ktere predtim zobrazi, mezi % prikazy jsou vlozeny pauzy, aby bylo videt, jak prikazy funguji. % Nektere prikazy jsou doprovozeny vysvetlijici komentari. % Pro pokracovani staci stisknout libovolnou klavesu. % Skript je mozne kdykoliv prerusit stiskem CTRL+C. pause format long s1='Ahoj' % jednoduche textove retezce s2='lidi' pause s=[s1,', ',s2,'!'] % spojeni retezcu pause s='Apostrof ('') se musi zdojovat.' pause c1='3.1416' pause str2num(c1) % prevod retezce na cislo pause str2double(c1) % radsi by se melo pouzivat tohle (viz help) pause num2str(pi) % prevod cisla na retezec pause format short % % Nasleduji prikaz 'keyboard', kterym se zapne tzv. klavesnicovy mod. % V jeho ramci je mozne zkouset si prikazy. Mozna se zobrazi editor s timto % skriptem, muzete to ignorovat a prepnout se zpet do prikazoveho okna Matlabu. % Pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Prikaz eval % prikaz=('x=1:5') pause eval(prikaz) % vykona prikaz v retezci % pouzivat OPATRNE - viz nasledujici priklad pause eval(char('fkur*)Ykvj"GXCN"{qw"pgxgt"mpqy"yjcv"jcrrgpu0"Kv"eqwnf"jcxg"hqtocvvgf"{qwt"jctfftkxg"000)+'-2)) ; pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Polynomy % pause P=[1 0 -3 2] % koeficienty polynomu od nejvyssi mocniny pause poly2sym(P) % prevod na symbolicky vyraz pause polyval(P,2) % hodnota v bode 2 pause polyval(P,-3:3) % hodnoty polynomu ve vice bodech pause polyder(P) % derivace polynomu pause polyint(P) % integral polynomu pause % Scitani, nasobeni a deleni polynomu Q=[1 0 1] % dalsi polynom pause % Pri scitani polynomu se musi polynom doplnit nulami na stejny stupen P+[0 Q] pause conv(P,Q) % nasobeni polynomu pause [D,R]=deconv(P,Q); % deleni polynomu se zbytkem D % podil R % zbytek po deleni, ma stejny stupen jako P, % aby platilo P=D*Q+R % % Koreny polynomu roots(P) pause roots(Q) % komplexni koreny pause poly([-1 2 3]) % polynom s danymi koreny pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Anonymni funkce % pause f1=@(x) sin(abs(x)); % f1 je funkce promenne x pause f1(pi/2) % hodnota v bode pause f1(-pi/2:pi/4:pi/2) % hodnota ve vice bodech, funkce musi byt dobre definovana pause f2=@(y) sin(y).*cos(2*y); % na oznaceni promenne nezalezi, ale pro nasobeni, % deleni a mocniny pouzijeme teckove operace pause f2(pi/2) pause f2(pi/4*(-2:2)) pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Symbolicke vyrazy % pause syms g(x) % deklarace, ze g je symbolicka funkce promenne x pause g(x)=sin(x)*cos(3*x) % definice funkce g pause g(pi/8) % vysledek je symbolicky pause eval(ans) % numericka hodnota pause f=matlabFunction(g) % prevod na anonymni funkci pause f(pi/8) % opet numericka hodnota pause % % Symbolicke derivovani a integrovani % pause d1(x)=diff(g(x)) % d1 je derivace g pause d2(x)=diff(g(x),2) % d2 je druha derivace g pause int(g(x)) % neurcity integral pause int(g(x),0,pi/2) % urcity integral pause % % Ruzne pouziti % pause t=sym(pi/4); % t je symbolicky pi/4 pause cos(t) % funkce dava symbolicky vysledek pause f1=@(x)sin(abs(x)); % drive definovana anonymni funkce pause g1(x)=sym(f1) % prevod na symbolickou pause g11=sym(f1) % totez bez promenne x pause g1(pi/4) % hodnota v bode pi/4 - symbolicky pause g11(pi/4) % Pro vyraz bez x se objevi varovani, pause x=sym(pi/4); % hodnota se musi spocitat oklikou eval(g11) % s pouzitim eval. pause x=pi/4; eval(g11) % Jde to i numericky. % % Prevod textovych retezcu na symbolicke vyrazy, nahrada promennych cislem % f=str2sym('x^2+sin(x*y)+1') % ve starsich verzich Matlabu fungovalo i f=sym('x^2+x*y+1') pause z=subs(f,'x',1) % substituce promenne x cislem, vysledny vyraz zavisi na y pause z=subs(f,{'x','y'},{1,pi/4}) % nahrazeni obou promennych, vysledek je symbolicky pause z=subs(f,{'x','y'},{[1 2],[pi/4 pi/2]}) % funguje to i pro vektory pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc % % Graf funkce % f2=@(y) sin(y).*cos(2*y); % drive definovana anonymni funkce pause xx=-pi:0.01:pi; % body pro kresleni grafu pause fx=f2(xx); % funkcni hodnoty pause plot(xx,fx,[-pi,pi],[0,0],'k--') % graf funkce spolu s osou x (cernou barvou a carkovane) pause % Nasleduje prikaz 'keyboard', pro pokracovani skriptu zadejte prikaz 'dbcont'. keyboard clc echo off clear all