Date post: | 17-Feb-2018 |
Category: |
Documents |
Upload: | gabriel-cosmin |
View: | 257 times |
Download: | 0 times |
of 19
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/