1 / 34

Príklady k úvodu do Matlabu Š. Kozák 2002-2004

Príklady k úvodu do Matlabu Š. Kozák 2002-2004. % Výpis obsahu pracovného priestoru A=[1 2;4 1]; b=12; c=5; n=[1 3 5 2]; who %-- pre pokračovanie stlačte klávesu --- pause % Výpis matice A, rozmerov matice A a dlžky vektora n disp(A) size(A) length(n)

rhian
Télécharger la présentation

Príklady k úvodu do Matlabu Š. Kozák 2002-2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Príklady k úvodu do Matlabu Š. Kozák 2002-2004

  2. % Výpis obsahu pracovného priestoru A=[1 2;4 1]; b=12; c=5; n=[1 3 5 2]; who %-- pre pokračovanie stlačte klávesu --- pause % Výpis matice A, rozmerov matice A a dlžky vektora n disp(A) size(A) length(n) %-- pre pokračovanie stlačte klávesu --- pause % Uloženie premenných do súbora data1 save data1 % Vymazanie pracovného priestoru clear % Opatovné prezretie pracovného priestoru who %-- pre pokračovanie stlačte klávesu --- pause

  3. % Načítanie premenných zo súbora data1 load data1 % Výpis pracovného priestoru whos %-- pre pokračovanie stlačte klávesu --- pause % Výpis súborov v aktuálnom adresári what %-- pre pokračovanie stlačte klávesu --- pause % Hľadanie súboru polyfit which polyfit %-- pre pokračovanie stlačte klávesu --- pause % Výpis všetkých toolboxov help %-- pre pokračovanie stlačte klávesu --- pause % Pomoc na slovo magic help magic %-- pre pokračovanie stlačte klávesu --- pause

  4. % Help na toolbox matfun help matfun %-- pre pokračovanie stlačte klávesu --- pause % Pomoc na slovo inverse help inverse %-- pre pokračovanie stlačte klávesu --- pause % Hľadanie všetkých funkcií na kľúčové slovo inverse lookfor inverse %-- pre pokračovanie stlačte klávesu --- pause % Pomoc na slovo sin help sin %-- pre pokračovanie stlačte klávesu --- pause % Nájdenie m-súbora fftdemo which fftdemo %-- koniec ukážky --- echo off

  5. % Ukážka použitia rôznych formátov čísiel x=[4/3 1.2345e-6] format short x format short e x format short g x format long x format long e x format long g x format bank x format rat x %-- pre pokračovanie stlačte klávesu --- pause

  6. echo on % Príklady kapitola č.3 % Zápis aritmetických operátorov A=[4 6]; B=[1 2]; C=A./B.^2 C=(A./B).^2 %-- pre pokračovanie stlačte klávesu --- pause % Použitie relačných operátorov A=[2 7 6;9 0 -1;3 1 6]; B=[8 0.2 0;-3 2 5;4 -1 7]; A < B %-- pre pokračovanie stlačte klávesu --- pause % Použitie logických operátorov a=[1 0 4 2 0 5]; b=[5 3 1 0 0 7]; a & b % Operácia AND a | b % Operácia OR ~ a % Operácia NOT %-- pre pokračovanie stlačte klávesu --- pause

  7. A = [1 2 3;4 5 6;7 8 10] %-- pre pokračovanie stlačte klávesu --- pause % zlý zápis výrazu s druhou odmocninou % rho = (1+sqt(4) ) / 2 %-- pre pokračovanie stlačte klávesu --- % pause % Ukážka zákazu výpisu A = eye(30); %-- pre pokračovanie stlačte klávesu --- pause % Zápis dlhého výrazu s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ... - 1/8 + 1/9 - 1/10 + 1/11 - 1/12; %-- pre pokračovanie stlačte klávesu --- % pause

  8. % Nájdenie všetkých čísiel z vektora c v intervale (10, 30) c=[2 12 5 8 15 18 56 35 25 32]; index=find(c>10 & c<30) c(index) %-- pre pokračovanie stlačte klávesu --- pause % Zistenie, či prvkom vektora je reťazec alebo infinitív a=[1 -2000 3 inf 89]; b=[-40 5 inf 9 'ahoj' 2]; isstr(a) isstr(b) isinf(a) isinf(b) %-- pre pokračovanie stlačte klávesu --- Pause % Ukážka funkcie xor, ktorá vracia 1, ak jeden operand je nenulový a súčasne druhý je nulový. Inak vracia 0. a = 1; b = 1; xor(a,b) %-- pre pokračovanie stlačte klávesu --- pause

  9. % Nájdenie všetkých stĺpcov s nenulovými prvkami. A=[0 1 2 5;3 4 0 7]; all(A) %-- pre pokračovanie stlačte klávesu --- pause Zápis komplexných čísel 1+2i , p i 1+2*i pi*i %-- pre pokračovanie stlačte klávesu --- pause % Odpoveď pri delení nulou 12/0 %-- pre pokračovanie stlačte klávesu --- pause % Zistenie najmenšieho a najväčšieho reálneho čísla realmax realmin %-- pre pokračovanie stlačte klávesu --- pause

  10. % Zistenie aktuálneho dátumu date %-- pre pokračovanie stlačte klávesu --- pause % Zistenie aktuálneho času spolu s dátumom v tvare vektora clock %-- pre pokračovanie stlačte klávesu --- pause % Konverzia dátumového reťazca na sériové dátumové číslo d1=datenum('02-Oct-1996') %-- pre pokračovanie stlačte klávesu --- pause % Konverzia sériového dátumového čísla na dátumový reťazec d2=datestr(d1+10) %-- pre pokračovanie stlačte klávesu --- pause % Konverzia na dátumový vektor dv1=datevec(d1) dv2=datevec(d2) %-- koniec ukážky --- echo off

  11. % Určenie veľkosti a fáz. uhla vektora v komp. rovine s koncovým bodom b=6+8i b=6+8i; velkost=abs(b) uhol=angle(b) %-- pre pokračovanie stlačte klávesu --- pause % Určenie reálnej a imaginárnej časti prvkov matice A A=[4i -3+5i;-1-7i 6]; realcast=real(A) imagcast=imag(A) %-- pre pokračovanie stlačte klávesu --- pause % Zistenie komplexne združeného čísla k číslu 2+7i conj(2+7i) %-- pre pokračovanie stlačte klávesu --- Pause % Funkcia signum reálneho a komplexného čísla, vektora sign(-5) sign(6+8i) sign([12 0 -3 4]) %-- pre pokračovanie stlačte klávesu --- pause

  12. % Zvyšok po delení reálneho čísla a vektora rem(27,6) rem([45 12 37],7) %-- koniec ukážky --- echo off

  13. echo on % Príklady kapitola č.5 % Zápis medzera, bodkočiarka A=[1 2 3;4 5 6;7 8 9] %-- pre pokračovanie stlačte klávesu --- pause % Zápis matice (po riadkoch) čiarka, Enter A=[1,2,3 4,5,6 7,8,9] %-- pre pokračovanie stlačte klávesu --- pause % Výber prvku matice A B=A(2,2) B=A(1,3) %-- pre pokračovanie stlačte klávesu --- Pause % Výber 2. riadku matice A, výber 3.stĺpca matice A B=A(2,:) B=A(:,3) %-- pre pokračovanie stlačte klávesu --- pause

  14. % Výber časti matice B=A(2:3,1:2) % výber 2. až 3.riadku a 1. až 2.stĺpca B=A(1,1:2) % výber 1.riadku a prvých dvoch stĺpcov %-- pre pokračovanie stlačte klávesu --- pause

  15. % Výber hlavnej diagonály a subdiagonály b = diag(A) b = diag(A,-1) %-- pre pokračovanie stlačte klávesu --- pause % Zámena stĺpcov, zámena riadkov B = fliplr(A) B = flipud(A) %-- pre pokračovanie stlačte klávesu --- pause % Zistenie rozmeru matice, otočenie matice o 90 stupňov doľava rozmer=size(A) B = rot90(A) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie dolnej trojuholníkovej matice B = tril(A) B = tril(A,-1) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie hornej trojuholníkovej matice B = triu(A) B = triu(A,1)

  16. % Súčet a rozdiel matíc C, D C= [1 2;7 8]; D= [3 -5;-1 4]; C+D C-D %-- pre pokračovanie stlačte klávesu --- pause % Násobenie matíc b= [2;6]; C*D C*b %-- pre pokračovanie stlačte klávesu --- pause % Transpozícia a umocnenie matice C C' C^2 %-- pre pokračovanie stlačte klávesu --- pause % Násobenie po prvkoch a umocňovanie po prvkoch C= [1 3;4 -2]; D= [2 5;2 4]; C.*D C.^2

  17. % Ľavé delenie matíc A= [1 2;7 8]; b= [3 -5;-1 4]; x=A\b % Pravé delenie matíc y=b/A %-- pre pokračovanie stlačte klávesu --- pause % Riešenie sústavy lineárnych rovníc v tvare A.x = b A=[5 8 9;1 -2 3;2 -5 3]; % Rovnice 5x1+ 8x2+ 9x3 = 48 b=[48;6;1]; % x1 - 2x2+ 3x3 = 6 x=A\b % 2x1 - 5x2+ 3x3 = 1 %-- pre pokračovanie stlačte klávesu --- Pause % Vnútorný súčin vektorov x= [1;3;4]; y= [3;5;2]; x'*y % Vonkajší súčin vektorov x*y' %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie vektora x s prvkami od 0 po 3 a krokom 0,5 x=0:0.5:3

  18. % Vytvorenie vektora y s prvkami od 10 po 15 delením 1 y=10:15 %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie diagonálnej matice C = diag([1 2 3]) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie matice, prvky ktorej sú náhodne vybrané čísla % z intervalu (0,1) rand(2,3) %-- pre pokračovanie stlačte klávesu --- Pause % Vytvorenie stavovej matice systému Asys, kde % systém je opísaný charakteristickým polynómom s4+8s3+5s2+3s+1. Asys = [zeros(3,1) eye(3); -1 -3 -5 -8] %-- koniec ukážky --- echo off

  19. echo on % Príklady pre kapitolu č.6 % Výpočet determinantu matice A A=[4 -2 1;-1 5 6;2 0 5]; det(A) %-- pre pokračovanie stlačte klávesu --- pause % Súčet diagonálnych prvkov matice B B=[1 0 2;2 3 4;4 6 8]; trace(A) %-- pre pokračovanie stlačte klávesu --- pause % Počet lineárne nezávislých riadkov matice B rank(B) %-- pre pokračovanie stlačte klávesu --- pause % Zistenie čísla podmienenosti matice X=[4 -1 2;2 5 6;-2 0 7]; cond(X)

  20. % Zistenie maximálneho prvku diagonálnej matice X X=[4 -1 2;2 5 6;-2 0 7]; norm(X) % Zistenie maximálneho súčtu prvkov v stĺpci matice X norm(X,1) % Zistenie maximálneho súčtu prvkov v riadku matice X norm(X,inf) %-- pre pokračovanie stlačte klávesu --- pause % Použitie príkazu null % existuje matica Q neexistuje matica Q A=[1 -2;-3 6]; B=[1 2;3 5]; Q=null(A) Q=null(B) %-- pre pokračovanie stlačte klávesu --- pause

  21. % Ortogonalizácia matice: % riadky matice A sú nezávislé riadky matice B sú závislé A=[1 2 -3;3 5 2;4 6 1]; B=[4 2 -3;1 -2 2;2 -4 4]; Q=orth(A) Q=orth(B) %-- pre pokračovanie stlačte klávesu --- pause % Určenie inverznej matice k matici A A=[1 5 2;4 -2 1;-3 3 2]; Ainv = inv(A) %-- pre pokračovanie stlačte klávesu --- pause % Pseudoinverzia matice C C=[1 0 -0.04;0 1 0.2]; Y =pinv(C) %-- pre pokračovanie stlačte klávesu --- pause

  22. % Ortogonálno-triangulárny rozklad matice A % bez matice permutácií E s maticou permutácií E A=[1 5 2;4 -2 1;-3 3 2]; [Q,R]=qr(A) [Q,R,E]=qr(A) %-- pre pokračovanie stlačte klávesu --- pause % Choleského faktorizácia matice B B=pascal(4) R=chol(B) %-- pre pokračovanie stlačte klávesu --- pause % LU faktorizácia matice B [L,U]=lu(A) %-- pre pokračovanie stlačte klávesu --- pause %Príklady na singulárny rozklad matice: % celý rozklad, výpis iba prvkov diagonály matice A=[1 5 2;4 -2 1;-3 3 2]; [U,S,V]=svd(A) svd(A)

  23. % Výpočet vlastných vektorov a kor. Poly.n (eig a poly ) pre stav. modely % Úlohou je určiť modálnu maticu M, maticu vlastných vektorov systému, zo zadanej % matice A1 opisujúcej stavový model systému pomocou príkazu A1=[0 1 0;0 0 1;-0.5 -5.6 -6.1];[ M,D]=eig(A1) [M,D]=eig(A1) %-- pre pokračovanie stlačte klávesu --- pause % Zistenie charakteristického polynómu systému príkazom poly(A1) polynom=poly(A1) %-- pre pokračovanie stlačte klávesu --- pause % Výpočet exponenciálnej funkcie matice A2 maticovou funkciou A2=[0 1 0;0 0 1;-2.5 -3.2 -8.1]; expm(A2) %-- pre pokračovanie stlačte klávesu --- pause % Výpočet exponenciálnej matice A2 cez vlastné hodnoty vektora [V,D]=eig(A2); V*diag(exp(diag(D)))/V %-- pre pokračovanie stlačte klávesu --- pause

  24. % Výpočet sínusu matice A2 maticovou funkciou funm(A2,'sin') %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie sprievodnej matice pre polynóm P P=[1 -2 5 3]; compan(P) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie magickej štvorcovej matice o rozmere 4x4 magic(4) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie Hankelovej matice hankel([1 2 3]) %-- koniec ukážky --- echo off

  25. echo on % Príklady pre kapitolu č.7 % Výpočet konvolutórneho súčinu polynómov a,b b=[1 4 5 2]; a=[2 5 3]; conv(a,b) %-- pre pokračovanie stlačte klávesu --- pause % Delenie polynómu b polynómom a [q,r]=deconv(b,a) %-- pre pokračovanie stlačte klávesu --- pause % Spätná kontrola delenia conv(q,a)+r %-- pre pokračovanie stlačte klávesu --- pause % Príklady pre výpočet hodnôt polynómu p dosadením: % Skaláru Vektora p=[2 3 4 1]; polyval(p,1) polyval(p,[0 2 3])

  26. % Výp.hod.polyn. pre maticu C po zložkách C=[1 4;2 3]; polyval(p,C) %-- pre pokračovanie stlačte klávesu --- pause % Matice C nie po zložkách polyvalm(p,C) %-- pre pokračovanie stlačte klávesu --- pause % Reálne korene polynómu roots([1 2 -9 -18]) %-- pre pokračovanie stlačte klávesu --- pause % Komplexné korene polynómu roots([1 -2 3 5]) %-- pre pokračovanie stlačte klávesu --- pause % Charakteristický polynóm matice A=[1.2 3 -0.9;5 1.75 6;9 0 1]; poly(A) %-- pre pokračovanie stlačte klávesu --- pause

  27. % Výpočet derivácie polynómov a, b a=[2 1 3]; b=[3 1 5 4]; polyder(a) polyder(b) %-- pre pokračovanie stlačte klávesu --- pause % Výpočet derivácie súčinu polynómov a*b polyder(a,b) %-- pre pokračovanie stlačte klávesu --- pause % Výpočet derivácie podielu polynómov b/a ako podiel q/d [q,d]=polyder(b,a) %-- pre pokračovanie stlačte klávesu --- pause % Príklady na rozklad polynómov na parciálne zlomky: a=[1 5.5 -1.5 -27]; b=[2 5 1]; c=[1 3 7 5 2]; [R,P,K]=residue(b,a) %-- pre pokračovanie stlačte klávesu --- pause [R,P,K]=residue(c,a)

  28. figure echo on % Zistenie koeficientov a rovnice priamky x=[1 2 3 4 5 6 7 8 9]; % Súradnice bodov y=[1 3.5 9.4 15.3 25.4 35.3 49.8 63.2 81]; bp=polyfit(x,y,1) % Zistenie rovnice priamky % y=9.9983x-18.4472 %-- pre pokračovanie stlačte klávesu --- pause % Zistenie koeficientov a rovnice paraboly bpar=polyfit(x,y,2) % Zistenie rovnice paraboly % y=0.9969x2+0.0297x-0.1714 %-- pre pokračovanie stlačte klávesu --- pause % Zobrazenie bodov, priamky a paraboly yp=polyval(bp,x); % Výpočet bodov priamky ypar=polyval(bpar,x); % Výpočet bodov paraboly axis([0 10 0 90]); % Nastavenie osí plot(x,y,'r+',x,yp,'b',x,ypar,'m');% Zobrazenie priamky, paraboly xlabel('x'), ylabel('y'); % Popis osí

  29. % Príklad pre interpoláciu dát funkcie sínus: x= 0:10; y = sin(x); % Interpolované data xi = 0:.25:10; % Body interpolácie yi = interp1(x,y,xi,'cubic'); % Kubická interpolácia plot(x,y,'o',xi,yi) % Zobrazenie interpolácie %-- pre pokračovanie stlačte klávesu --- pause % Výpočet hodnôt interpolovaných dát z funkcie peaks : [x,y]=meshgrid(-3:1:3); z=peaks(x,y); surf(x,y,z) %-- pre pokračovanie stlačte klávesu --- pause % Vytvorenie siete pre interpoláciu: [xi,yi]=meshgrid(-3:0.25:3); % Interpolácia metódou najbližšieho suseda zi1=interp2(x,y,z,xi,yi,'nearest'); surf(xi,yi,zi1) %-- pre pokračovanie stlačte klávesu --- pause

  30. % Interpolácia metódou lineárnej interpolácie zi2=interp2(x,y,z,xi,yi,'bilinear'); surf(xi,yi,zi2) %-- pre pokračovanie stlačte klávesu --- pause % Interpolácia metódou kubickej interpolácie zi3=interp2(x,y,z,xi,yi,'bicubic'); surf(xi,yi,zi3) %-- koniec ukážky --- echo off

More Related