+ All Categories
Home > Documents > Matlab Booklet A5 Vol 1

Matlab Booklet A5 Vol 1

Date post: 17-Feb-2018
Category:
Upload: gabriel-cosmin
View: 257 times
Download: 0 times
Share this document with a friend

of 19

Transcript
  • 7/23/2019 Matlab Booklet A5 Vol 1

    1/19

    -

    MATLAB

    Instruciuni utilevol 1OpenBookletpadre_cosmin

    INTRODUCERE-pachet de programe de calcul numeric dedicat domeniilortiinifice i tehnice.-Elementul principal este matricea fie care elemente reale

    fie complexe; scalarii sunt vazui tot ca matrice de 1:1

    FUNCII DE INTERES GENERAL:matlabrc fiier general pentru lansarea MATLAB coninecile de acces la fiierele de luzcru precum i setrileparametrilor de lucru pentru mediul de programare MATLABexit, quit comenzi de ieire din MATLAB

    help functie_cautata citete primul comentariu din fiierulfunctie_cautata.m i l afieaz,dacfuncia este internmediului MATLAB afieazcomentariile rezervate pentru eawhat afieazfiierele .m, .mat i .mex din directorul curenttype fisier.m listeazfiierul .m menionatlookfor argument returneaznumele fuierelor care au nprima linie a HELPului(linia H1) cuvinetele precicate caargumentwhich fiier sau funcie MATLAB- returneazcalea n careeste locaizat un fiier sau o funcie MATLABpath returneazcaile cu care lucreazMATLAB(cile ncare sunt cutate fiierele apelatewho listeazvariabilele curente din memorie

    whos listeazvariabilele curente, dimensiunile lor, precumi tipul(reale sau complexe)exist variabila verificdacvariabila existn memorie

    % acesta este un comentariu

    clc - terge ce este afiat pe consola

    clear terge variabilele din mediul de lucru

  • 7/23/2019 Matlab Booklet A5 Vol 1

    2/19

    AJUTOR

    -cu comanda help se pot obine informaii despre anumitefuncii i instruciuni matlab sau definite de utilizator

    >> help subiect %afieazinformaii despre o funcie sau undirector>>help functie %afieazprima linie comentatdin fiierulfuncie.m

    -funcia whatreturneazinformaii referitoare la fiierele .m,.mat, .mex din directorul curent

    >> what general%afiseazfiierelor din subirectorul general

    -funcia whichreturneazcalea n care se gsete fiierulspecificat ca argument:>> which fisier.m %cauta calea unde se gaseste fisierul

    - funcia lookforlisteaztoate numele de fiiere din toi

    directorii care au n prima linie a helpului cuvintele menionateca argument>>lookfor cuvinte_cheie

    AFIAREA CONINUTULUI UNUI DIRECTOR:

    >> type fiier %afieazconinutul fiierului-

    funcia crede cextensia fiierului este .m, dacfiierul arealtextensie, aceasta trebuie precizat

    CI DE CUTARE:- la tastarea unui cuvnt cuvant_cheie n consol, matlab

    face urmtoarele cutri:1) cautvariabila cu numele cuvnt_cheie n memorie2) cautfuncia cu numele cuvnt_cheie n memorie3) cautn directorul curent de pe disc fiierul cu numele

    cuvnt_cheie.m4) cautn directoarele specificate n path fiierul cu numele

    cuvant_cheie.m>> parh %afieazcilor de cutare curente ale MatlabuluiLista cilor de cutare este setatn fiierele startup.msaumatlabrc.m

    >> p = path %returneazn variabila p calea curentdecutare>> path(p) %schimbcalea curentde cutare n ceamemoratn variabila p>> path ( path, cale_noua) %adaugo noucale de cutarela cele deja memorate n variabila path ex:>> path( path , 'C:\....' )

    INFORMAII DESPRE VARIABILELE DINTR-UNFIIER

    Matlab reine variabilele create n timpul rulrii>> who %listeaznumele variabilelor din spaiul de lucru>> whos %listeaznumele variabilelor din spaiul de lucru iafieazi informaii suplimentare>> exist('nume_variabila') %verificexistena variabilei acrui nume i-a fost dat ca parametru i returneaz:

    0 dacvariabila nu exist1 dacvariabila existn spaiul de lucru2 dacnume_variabileste un fiier .m n cile matlab

    3 dacnume_variabila este un fiier .mex n cile matlab4 dacnume_variabileste o funcie Simulink5 dacnume_variabileste o construcie internmatlab

  • 7/23/2019 Matlab Booklet A5 Vol 1

    3/19

    LUCRUL CU DIRECTOARELE I FIIERELESISTEMULUI DE OPERARE

    >> cd %returneazdirectorul curent>> cd director_fiu % face un director fiu ca director curent>> cd .. %face directorul parinte director curent>> cd \ %face directorul rdcindirectorul curent>> cd . %referinla directorul curent, nu se ntmplnimic>> cd cale % exemplu cale = 'C:\Matlab\work' mutdirectorulcurent n calea specificat>> dir%listeazconinutul directorului curent>>delete director_specificat%sterge directorul specificat de

    pe disc>> ! comanda_DOS %executcomandDOS din consolaMATLAB>> ! program.exe %spune sistemului de operare sa porneascexecuia unui program extern, ce afieazprogramul poate fivzut n consola matlab(dacprogramul este unul de consola frgraficsau ferestre windows)

    >> diary fisier %salveazsesiunea de lucru frpartea graficntr-un fiier text n format ASCII. Dacfiierul existdejasesiunea de lucru se anexeazla sfritul acestuia>> diary off %suspendnregistrarea>> diary on %reia nregistrarea de comenzi din sesiunea delucru

    FUNCII ASOCIATE FERESTREI CONSOLMATLAB

    >> clc%sterge fereastra de comenzi>> home%mutcursorul n poziia iniial(prima linie, primacoloan)format%seteazformatul de afiare a datelor

    echo (on sau off) %permite sau nu afiarea liniilor de programn timpul executrii acestoramore(nr)%funcie pentru controlul numrului de linii afiate pemonitor

    FORMATAREA AFIERII NUMERELOR

    Se pot stabili numrul de cifre afiate i spaiile dintre eleStabilirea opiunii de afiare se face prin:>>format opiuneOpiune:Opiune rezumat Exemplushort 5 cifre 1.3333long 15 cifre 1.333333333333333short e 5 cifre + exp 1.3333E+000long e 15cifre+exp 1.3333333333333E+000hex hexazecimal 3FF555555555555555

    plus plus blanc minus + -bank doua zecimale 124.23rat exprimare raionala 102/53

    AFIAREA EVOLUIEI EXECUIEI UNUI FIIER .M

    Dacliniile de cod din fiierul .m se termincu [ ; ] (punct ivirgul) atunci rezultatul lor nu apare in consol, daclsmliniile neterminate n ; atunci rezultatul liniei de cod este afiatconsola matlab n timpul rulriiecho onplasat la nceput spune matlabului safieze rezultatulliniilor de cod, ceea ce face n mod implicit,echo off spune matlabului s nu afieze rezultatele intermediare

    are liniilor de cod n timpul rulrii fiierului .m

  • 7/23/2019 Matlab Booklet A5 Vol 1

    4/19

  • 7/23/2019 Matlab Booklet A5 Vol 1

    5/19

  • 7/23/2019 Matlab Booklet A5 Vol 1

    6/19

    >> M = rand(nr) %genereazo matrice ptraticplincunumere aleatoare cu distribuie uniform>> M = randn(nr) %genereazo matrice ptraticplincunumere aleatoare cu distribuie normal>> [X, Y] = meshgrid(x, y)>> [X, Y] = meshgrid(x)Meshgridreturneazn tablourile X i Y perechile de coordonateale tuturor punctelor din domeniul definit de vectorii x i y

    ALTE MODATITAI DE DEFINIRE A VECTORILOR IMATRICELOR

    1) presupunem cavem un fiier date.mcu text asciiorganizat ca o matrice rectangularce conine:

    1

    23 4>> A = date.m% A devine [1 2; 3 4]2) concatenarea a doumatriceA1=[1 2; 3 4]A2=[5 6; 7 8]>> A = [A1; A2]

    atunci:

    =

    87

    65

    43

    21

    _ devineA

    3) extragerea unei matrice dintr-o matrice mai mare

    >> B=A(2:3, :)

    =

    65

    43B

    ALTE FUNCII IMPORTANTE:>> a = length(V) %a primete lungimea vectorului, nr. deelemente>> [m, n] = size(M) %m primete nr. de linii iar n nr. decoloane ale matricei M>> r = isempty(M) %isempty returneaz1 dacM este matricegoal, M=[ ], 0 n caz contrar

    ATRIBUIREA UNEI EXPRESII PE MAI MULTERNDURI UNEI VARIABILE

    >> A = 1 + 2 + 3 + ...

    4 + 5 +6 %... spune matlabului cexpresia se ntinde pe maimulte rnduri

    IRURI DE CARACTEREirurile de caractere se scriu ntre ' 'sir = 'Ana are mere' %am atribuit variabilei sir irul de caractereAna are mere

    OPERATORI MATLAB+ adunare- scdere* nmulire/ mprire

    la dreapta\ mprire

    la stnga^ la putereAritmetica IEEE permite folosirea a 16 digii semnificativi i uninterval 10-308-:- 10+307

  • 7/23/2019 Matlab Booklet A5 Vol 1

    7/19

    SCRIPTURI I FIIERE FUNCIEScripturile sunt fiiere ASCII salvate cu extensia .m ce cuprindcomenzi. La rularea unui script Matlab deschide fiierul i linterpreteazlinie cu linie

    Pentru a crea un fiier script sau funcieapsm iconia New M-File i se vadeschide o fereastrde editare text incare vom scrie instruciunile din scriptsau antetul i corpul funciei! Dupexecuia completa unuifiier script variabilele cu care acestaa operat rmn n zona de memorie.

    param_ieire trebuie separai prin virguli cuprini ntreparanteze drepteparam_intrare trebuie separai prin virguli cuprini ntreparanteze rotunde

    APELAREA UNEI FUNCTII:>> [v1,v2,..., vn] = functie(p1, p2, ...,pm)

    INTRRI I IEIRI ATEPTAREA PRIMIRII UNEIVALORI DE LA UTILIZATOR-ETC.

    disp('Ana Are mere') %funcia disp apelatdintr-o funcieafieazmesajul primit sau valoarea variabilei primitev = 1234.5disp(v) %afieazvaloarea reinutn variabila v

    k = waitforbuttonpress %returneazn k valoarea 1 daca fosapsato tastsau 0 daca fost apsat un buton de mouse

    var = input('Introduceti valoare pentru var: ') %pus ntr-un

    fiier script sau funcie permite introducerea de valori de laconsoln timpul rulrii respectivului fiier .m

  • 7/23/2019 Matlab Booklet A5 Vol 1

    8/19

    ELEMENTE DE PROGRAMARE STRUCTURATCONDIIONALA IF:

    SIMPLif conditie

    instructiuniend

    Cu Clauzelse:if conditie

    instructiunielse

    instructiuniend

    Cu clauzElse Ifif conditie1

    instructiunielse if conditie2

    instructiunielse if conditie3instructiuni

    elseinstructiuni

    end

    OPERATORI RELAIONALI:

    Operatori Semnificatie< mai mic mai mare>= mai mare sau egal== identic~= diferit

    OPERATORI LOGICI:

    op logici Simbol PrioritateNU ~ 1SI & 2SAU | 3

    Ex de folosire in condiionalele if

    if (A

  • 7/23/2019 Matlab Booklet A5 Vol 1

    9/19

    Condiionala Switch Case

    variabila = expresie

    switch variabila

    case valoare1instructiuni

    case valoare 2instructiuni

    ..............................

    otherwiseinstructiuni

    end

    ex:

    val = 3switch valcase 1

    disp('val = 1')case 2

    disp('val = 2')case 3

    disp('val = 3')otherwise

    disp('Nu stiu ce valoare are val')end

    CICLUL FOR

    for contor = val_initiala : pas : val_finalainstructiuni

    end

    Observaii:1) dacomitem pasul, este considerat egal cu 12) daci = var_vector, (ex. for i = [1 4 7]) ciclul se repetde

    numrul de elemente al vectorului ori, n cazul acesta 3, iarcontorul rmne ncrcat cu ultima valoare din vector, ncazul acesta 7

    3)

    dacexpresia este o matrice, indexul va avea la fiecareiteraie valorile coninute n urmtoarea coloana matriceiBucla se executde:

    1__

    +

    =

    pas

    initialavalfinalavaln

    CICLUL WHILE:while expresie

    instructiuniend

    Observaii Adugri:1) Folosim instruciunea breakpentru a iei necondiionat

    dintr-un ciclu2) Folosim combinaia de tasteCtrl + C pentru a opri

    execuia unui ciclu infinit3) Instruciunea returndeterminieirea din execuie a

    funciei, scriptului4) Instrucinea error(' mesaj ') afieazmesajul primit ca

    parametru daca aprut o problemn timpul rulriiscriptului, funciei

    ex.: function test(x, y)if nargin ~= 2error(nr argumente insugicient)

    end

  • 7/23/2019 Matlab Booklet A5 Vol 1

    10/19

    OPERAII ARIMTMETICECU VECTORI OPERAII ARITMETICE CU MATRICE

  • 7/23/2019 Matlab Booklet A5 Vol 1

    11/19

    OPERAII ARIMTMETICECU VECTORIProdusul scalar

    =

    ==

    N

    i

    ibiaBAPs1

    ____

    )(*)(*

    n Matlab se calculeazcu instruciunea:Ps = sum(A .* B)

    Unghiul dintre vectori:Dac

    222222

    ________

    ________

    ________

    *||*||

    *),cos(

    ZYXZYX

    ZZYYXX

    ZYX

    ZYX

    bbbaaa

    cababa

    BA

    BABA

    atunci

    zbjbibB

    zajaiaA

    ++++

    ++==

    ++=

    ++=

    n matlab se calculeazcu instruciunile:ab = sum(a .* b); %produsul scalarmod_a = norm(a)

    mod_b = norm(b)alfa = acos(ab/(mod_a*mod_b))*180/pi

    Produsul vectorial____

    BsiA doi vectori de dim 3

    ZYX

    ZYX

    bbb

    aaa

    kji

    BxAPv

    ______

    ______==

    ),sin(*||*||||____

    BABAC = n matlab se calculeazcu instruciunea:Pv = A '* B

    Putem obine produsul scalar din cel vectorial prin:Ps = sum(diag(Pv))

    OPERAII ARITMETICE CU MATRICE:Adunarea matricelor:C = A + BC(i, j) = A(i, j) + B(i, j)Scderea este asemntoare.nmulirea matricelor:

    C= A*B=K

    jiBjiAjiC ),(*),(),(

    mprirea la dreapta a matricelor:C = A/B = A * B-1mprirea la stnga a matricelor:C = A\B = A-1 *B

    Ridicarea la putere a matricelor:B = A^n=A*A*...*A(n factori) dacn>0B = A^n=inv(A)*inv(A)*...*inv(A)(n factori) dacn

  • 7/23/2019 Matlab Booklet A5 Vol 1

    12/19

    FUNCII MATEMATICE IMPORTANTE:Aproximri:>> ceil(nr) returneazun numr ntreg, rotunjit celmaiapropiat ntreg spre plus infinit>> fix(nr) returneazun numr ntreg, rotunjit la celmaiapropiat ntreg spre zero

    >> floor(nr) returneazun numr ntreg, rotunjit la cel maiapropiat ntreg spre minus infinit>> round(nr) returneazun numr ntreg, rotunjit la cel maiapropiat ntreg>> rem(a, b) returneazrestul mpririi lui a la b

    >> sign(nr)

    =

    0_,10_,0

    0_,1

    )(nrdacanrdaca

    nrdaca

    nrsign

    >> y = rats(x) transformun numr cu virgulntr-o fracierats(1.25) = 5/4>> y = rats(x, 's') determinafiarea rezultatului simbolic yntr-o matrice irrat determinaproximarea unui numr cu fracii continueforme de apel:y=rat(x) y=rat(x, tol) [a,b]=rat(x)[a,b]=rat(x,tol)x numrul care trebuie aproximat cu fracii continuetol tolerana acceptat, implicit tol=10-6y aproximarea lui xa, b numrtorul i numitorul fraciei care aproximeazpe x

    cu tolerana tolDivizori i multipli comuni>> gcd(a, b)returneazcel mai mare divizor comun al celordounumere>> lcm(a,b) returneazcel mai mic multiplu comun al celordounumere

    Funcii pentru Numere Complexe:>> abs(z) returneazmodulul numrului complex z>> angle(z) returneazfaza argumentului>> unwrap(z) returneazpartea reali imaginara unuinumr complex exprimat n formpolarunwrap(exp(i*pi/4)) = 0.7071 + 0.7071i

    4)4/*exp(i

    epii = >> conj(z) calculeazconjugata complexa argumentului>> imag(z) returneazpartea imaginara numrului z>> real(z) returneazpartea reala numrului z

    Funciile putere, radical, logaritm, exponenial

    >> a ^ b ridicpe a la puterea b>> pow2(a) returneaz2a

    >> pow2(a,b) returneaza*2b

    >> exp(a) calculeazeadaca este complex, yixa += , ))sin()(cos( yiyee Xa += >> log(a) calculeazln(a)

    >> log2(a) calculeazlog2a>> log10(a) calculeazlog10a>> N=nextpow2(a) determinputerea N a numrului 2 caremajoreazmodulul argumentului>> sqrt(a) returneazradical din a

    Funcia modul:

    >> abs(a) returneazmodul din a

    Funcii trigonometrice>> sin(a) returneazsinus de a, a este n radiani>> cos(a) returneazcosinus de a, a este in radiani>> tan(a) returneaztangentde a, a este n radiani>> cot(a) returneazcotangentde a, a este radiani>> sec(a) calculeazsecanta de a>> csc(a) calculeazcosecanta de a

    Funcii trigonometrice inverse: MATRICE SPECIALE

  • 7/23/2019 Matlab Booklet A5 Vol 1

    13/19

    Funcii trigonometrice inverse:>> asin(a) calculeazarcsinusul argumentului, unghiul nradiani pentru care sinus de acel unghi este egal cu a>> acos(a) calculeazarccosinusul argumentului>> atan(a) calculeazarctangenta argumentului>> atan2(a) calculeazarctangenta unui argument complex

    >> acot(a) calculeazarccotangenta argumentului>> asec(a) calculeazarcsecanta argumentului>> acsc(a) calculeazarccosecanta argumentului

    Funcii hiperbolice:>> sinh(a)returneazsinus hiberbolic al argumentului>> cosh(a)

    returneazcosinus hiperbolic al argumentului>> tanh(a) returneaztangenta hiperbolica argumentului>> coth(a) returneazcotangenta hiperbolica argumentului>> sech(a) returneazsecanta hiperbolica argumentului>> csch(a) returneazcosecanta hiperbolica argumentului

    Funcii hiperbolice inverse:

    >> asinh(a) returneazarcsinusul hiperbolic alargumentului>> acosh(a) returneazarccosinusul hiperbolic alargumentului>> atanh(a) returneazarctangenta hiperbolicaargumentului>> acoth(a) returneazarccotangenta hiperbolica

    argumentului>> asech(a) returneazarcsecanta hiperbolicaargumentului>> acsch(a) returneazarccosecanta hiperbolicaargumentului

    MATRICE SPECIALE>> A=compan(p) p este un vector ai crui elemente suntcoeficienii unui polinom scrii n ordine descresctoare aputerii, compan(p) calcuelazcomanionul matricealcorespunztor.

    [ ]

    +

    ==

    +=

    +++++=

    )1(/)1(...)1(/)3()1(/)2(

    )(

    )1(...)2()1(

    )1()(...)2()1()( 11

    pnppppp

    pcompanA

    npppp

    npxnpxpxpxP nn

    >> eig(compan(p)) returneazrdcinile polinomuluiMatricea diagonal>> A=diag(v) genereazmatricea A avnd pe diagonalaprincipalelementele vectorului v>> A=diag(v, k) dack=0 genereazA avnd elementele depe diagonala principalelementele vectorului vk>0,indicdiagonala de deasupra diagonalei principale care

    este populatcu elementele vectorului vk> Hn=hadamard(n) genereazmatricea hadamard deordin n matricea ptraticcare are toatelementele -1 sau 1

    aezate ntr-o astfel de succesiune clina j e identiccucoloana j.Matricea nu este ortogonaldar se poate ortogonaliza prin

    ][1

    ].[ Hnn

    nHorth =

    Matricea Hankel Matricea Pascal

  • 7/23/2019 Matlab Booklet A5 Vol 1

    14/19

    Matricea Hankel>> H=hankel(c) c este un vector n funcie de care matlabgenereazmatricea hankeldacc=[3 2 1]

    ==

    001

    012

    123

    )(chankelH

    >> H= hankel(c,l) dacprimete doi vectori de dimensiunim, respectiv n, matriea H va avea dimensiunile mxndacc=[10 5 6] l=[1 2 3 4]

    ==

    4326

    3265

    26510

    ),( lchankelH

    Matricea Hilbert>> H=hilb(grad)

    1

    1),(

    +=

    jijiH

    >>IH=invhilb(n) genereazinversa matricei hilbert de

    gradul n

    Tensorul Kroneker>> K=kron(X,Y) calculeazprodusul tensorului Kronekerdintre matricele X i Y, o matrice formatdin toate produseleposibile ntre elementele lui X i YdacX este de dimensiunile m x n i

    Y este de dimensiunile l x p atunciK este de dimensiunile ml x np

    Ptratul magic>> A=magic(n) genereazptratul magic de ordin n, omatrice n x n formatdin ntregi de la 1 la n2care are sumaelementelor de pe fiecare linie, coloan, diagonalsau anti-diagonalprincipal, egal! trebuie ca n >= 3

    Matricea PascalTriunghiul Pascal conine coeficienii binomiali aidescompunerii (a+b)n

    nnn

    n

    n

    n

    n

    n

    nnbabCbaCbaCaba +++++=+

    1122211 ...)(

    Triunghiul Pascal cu coeficienii descompunerii unui binomde ord 4:

    146414

    13313

    1212

    11110

    >> pascal(5) genereaz

    70351551

    35201041

    1510631

    5432111111

    elementele din partea stnga atidiagonalei

    principale sunt elementele triunghiului lui Pascal

    >> P1=abs(pascal(5,1)) conine elementele triunghiului luipascal ordonate pe linie>> P2=abs(pascal(5,2)) conine elementele triunghiului luipascal ordonate pe coloann partea triunghiulardin coluldreptMatricea Toeplitz>> T = toeplitz(v), dacv = [1 2 3 4]

    =

    1234

    2123

    32124321

    T

    Matricea Vandermode CALCULE CU MATRICE

  • 7/23/2019 Matlab Booklet A5 Vol 1

    15/19

    Matricea Vandermode>> V=vander(vector), dacvector=[1 2 3 4]

    =

    1444

    1333

    1222

    1111

    23

    23

    23

    23

    V

    Matricea Wilkinson>> W=wilkinson(n)

    =

    +=

    =

    =

    21000

    11100

    01010

    00111

    00012

    )5_(

    _,0

    1,1

    ,2

    |12|

    ),(

    ordinW

    restin

    ji

    jiin

    jiW

    CALCULE CU MATRICEAccesarea unui element al matricei se face prin indiciA(i, j) ex.: A(3,3) = A(1,3)+A(2,3)In cazul vectorilor fie coloan, fie linie, matlab i dseama ctabloul are doar o singurdimensiune i putemaccesa elementele lui printr-un singur indice

    v=[1 4 5] , v(2)=4w=[5; 6; 8], w(2)=6Estragerea unui bloc(submatrice) dintr-o matrice:>> C=M(2:4, 3: 5) % folosind operatorul : putem extragepri dintr-o matrice

    =

    23987

    73612

    10372 52463

    27521

    M

    ==>

    239

    736103

    524

    C

    >> CC=M(2:4, :) %extrage elementele dintre liniile 2 i 4inclusiv, toate coloanele>> v = A(:) %transformmatricea M ntr-un vector

    =

    =

    4

    3

    2

    1

    43

    21_ vAdaca

    j:i:k selecteazelementele [j, j+i, j+2i,...,k] ale unui vector,sau liniile sau coloanele dacncercm sizolm elemente

    dintr-o matriceExtragerea submatricelor prin vectori cu elemente 0-1>> B=A(v, :) %dacv este un vector plin doar de elemente 0 i 1de lungime m iar A o matrice de m x nlinia de cod returneazn matricea B toate elementele din liniilematricei A pentru care elementul corespunztor ca poziie dinvectorul v este 1>> B=A(:, v)%elinimcoloanele...

    Redimensionarea unei marice: Matrice diagonale i triangulare:

  • 7/23/2019 Matlab Booklet A5 Vol 1

    16/19

    Redimensionarea unei marice:>> B=reshape(A, m, n) %genereazo matrice B cu elementedin A dar de dimensiune m x n, dacm sau n e mai mic dectdimensiunea corespunztoare a le lui A, elementele n plus sunt0, dacm sau n e mai mic dect dimensiunea corespunztoare alui A, se pierd elemente

    Rotirea matricei n jurul unei coloane sau linii:>> B=fliplr(A) %B este A pivotat n jurul ultimei coloane>> C=flipud(A) %C este A pivotat n jurul ultimei linii

    =

    =

    =

    987

    654

    987

    ____

    789

    456

    123987

    654

    321

    _

    CiarB

    Adaca

    Rotirea matricei cu multipli de 90 de grade n jurul unuielement:

    >> B=rot90(A)>> B=rot90(A, k)% k este multiplu de 90 de grade cu care serotete matricea

    dac

    =

    =

    741

    852 963

    987

    654

    321

    B

    atunciA

    k poate fi i negativ, n acest caz

    matricea se rotete invers trigonometric

    Matrice diagonale i triangulare:>> M=diag(v) creazo matrice diagonalcu elementelevectorului v pe diagonala principal>> M=diag(v, k) creazo matrice diagonalavnd elementelevectorului v pe diagonala indicatde k,k=0, elementele lui v seplaseazpe diagonala principal, k0elementele lui v sunt plasate pe diagonala a k deasupra diagonaleiprincipale

    >>M=tril(M1) creeazo matrice inferior triunghiularfcnd 0 unele elemente ale matricei argument>> M=triu(M2) - creeazo matrice superior triunghiularfcnd 0 unele elemente ale matricei argument

    ANALIZMATRICEAL

    >> d = det(M) %calculeazdeterminantul matricei M>> N = inv(M) %calculeazinversa matricei M

    >> N = M' %pune n N matricea M transpus>> r = rank(M) %calculeazrangul matricei M>> r = rank(M, tol) %returneaznumrul de valori singulare alelui M mai, mari dect parametrul tol(toleran)>> u = trace(M) %calculeazurma matricei M, sumaelementelor de pe diagonala principal

    Norme: Condiionarea :

  • 7/23/2019 Matlab Booklet A5 Vol 1

    17/19

    Vectori:>> norm(V) %echiv. norm(V, 2)returneaz:

    2 22

    2

    2

    12

    1

    2

    2... N

    N

    k

    k VVVVV +++== =

    >> norm(V, p) %returneaz:

    P P

    N

    PPP

    N

    k

    P

    kPVVVVV +++==

    =

    ...211

    >> norm(V)/sqrt(N) %returneazvaloarea rdcinii mediiptratice RMS

    N

    VVVV

    N

    RMS N

    N

    k

    k

    22

    2

    2

    1

    1

    2 ...1 +++==

    =

    >> norm(V, inf) %returneazvaloarea maximn modul:

    NkkVV

    =1

    max

    >> norm(V, -inf) %returneazvaloarea minimn modul

    NkkVV

    =1

    min

    Matrice:>> n = norm(M) %returneazcea mai mare valoare singularalui M, se mai apeleazi cu n = norm(M, 2)

    )(2

    max*M

    MMM

    ==

    >> n = norm(M, 1) %returneaznorma 1 a lui M, cea mai mare

    suma elementelor dupcoloan

    =

    =

    N

    k

    jk

    Nj

    MM

    111

    max

    >> norm(M, inf) %returneaznorma infinita lui M, cea mai

    mare suma elementelor de pe linie

    =

    =

    N

    j

    jkNk

    MM1

    1max

    >> norm(M, 'fro') %returneaznorma Frobenius22

    22

    2

    11

    ,

    2... nn

    N

    kj

    jkF MMMMM +++==

    >> c = cond(M) %returneazraportul dintre cea mai mare i ceamai micvaloare singulara acesteia>> c = rcond(M) %returneazo valoare aproximativcu 1.0dacM este bine condiionati aproximativ cu 0.0 dacM esteslab condiionat

    >> c = condest(M) %estimarea celui mai mic numr decondiionare

    Descompunerea i factorizarea matricelor:Valori proprii:Avem ecuaia xAx = ,A matrice ptraticde ordin nx vector coloande ordin n scalar

    Vectorii x care satisfac condiia ecuaiei se numesc vectoriproprii.Valorile scalare care satisfac ecuaia se numesc valori proprii.

    >> V = eig(A) %returneazun vector care conine valorileproprii ale lui A>>[V,D] = eig(A) %returneazo matrice D care conine valorileproprii ale matricei A i o matrice D ale crei coloane suntvectorii proprii corespunztori valorilor proprii a.. A*V=V*D>> [V,D] = eig(A, 'nobalance') %returneazvalorile i vectorii

    proprii fra executa n prealabil o balansare, dacmatriceaconine elemente mici, comparabile cu erorile de rotunjire,balansarea le scaleaz, fcndu-le la fel de semnificative cucelelalte elemente ale matricei originale ducnd la vectori propriiincoreci. De aceea folosim prametru nobalance.>> [V,D] = eig(A, B) %returneazo matrice diagonalD ceconine valorile proprii generaizate i o matrice V ale creicoloane sunt vectorii proprii corespunztori

  • 7/23/2019 Matlab Booklet A5 Vol 1

    18/19

    >> eval('sir_de_caractere') %evalueazexpresia sir de Conversia irurilor n formate numerice:

  • 7/23/2019 Matlab Booklet A5 Vol 1

    19/19

    caractere interpretnd-o ca o comandmatlab>> [y1, y2, ..., ym]= feval('nume_functie', param1, param2, ...,paramn)echivalent:>> [y1, y2, ..., ym] = funcie(param1,..., paramn)

    >>strcmp(sir1, sir2) %comparcele douiruri, returneaz1daccele douiruri sunt egale, 0 n caz contrar. !Funcia e case-sensitive.

    >>findstr(sir, subsir) %returneazpoziia de nceput a lui subsirn sir

    >>sir = upper(sir) %convertete caracterele din sir n majuscule>>sir = lower(sir) %convertete caracterele din sir n minuscule

    >>M2 = isletter(M1) %pune n matricea M2 1 pe poziiile unden M1 gsete caractere ale Albafetului i 0 n rest

    >>s = num2str(nr) %convertete un numr ntr-un ir decaractere>>s = int2str(nr) %convertete numere ntregi n ir de caractere>>nr = str2num(sir) %convertete un ir de caractere n numr,irul de caractere trebuie sa conindoar cifre, semne + - .(punctzecimal) , i sau j pentru numere complexe

    Funcia sprintf('format',A)format: -d.p tip_format'-' este opional i specificalinierea la stnga(lipsa nseamnalinierea la dreapta)d numrul minim de caracterep numrul de cmpuri pentru partea zecimaltip_format: e(notaie exponenial), f(notaie n virgulfix),g(formate scurte ale lui f sau e)Format poate mai conine i caractere escape:\n \t \b \r(return car) \\ \f(form feed) \'

    >> dec2hex(nr) %returneaznr primit ca valoare zecimalnhexazecimal>> hex2dec(nr) %returneaznr primit ca valoare hexazecimaln valoare decimal

    Bibliografie:1) Matlab, Ed. Teora, Marin Ghinea, Virgiliu Fireeanu2) http://www.cyclismo.org/tutorial/matlab/3) http://www.mathworks.com/help/techdoc/


Recommended