Documente Academic
Documente Profesional
Documente Cultură
1
.
2
INTRODUCERE N FUNCIILE MATLAB (Florin, 2010)
Biblioteca de funcii matematic a Matlab-ului reprezint o colecie complex de algoritmi
de calcul pronind de la funcii elementare (sinus, cosinus, tangent etc.) pn la funcii
sofisticate (inversarea de matrici, valori proprii, funcii Bessel, trasnformri integrale etc.).
Funciile matematice sunt organizate n 8 categorii: funcii pentru operaii cu matrici, funcii
elementare, funcii speciale, funcii pentru operii cu elemente algebrice, funcii pentru analiza
datelor, funcii pentru interpolarea i operarea cu polinoame, funcii pentru integrarea ecuaiilor
i sistemelor de ecuaii difereniale, funcii pentru operaii cu matrici rare. Interfaa de aplicaii
program a Matlab-ului este o bibliotec care permite scierea de programa n limbajul C care
interacioneaz cu Matlab-ul. Include faciliti pentru apelarea rutinelor din Matlab, apelarea
Matlab-ului.
n Matlab funciile pot fi: funcii Matlab predefinite (de bibliotec) sau funcii utilizator,
scrise de programator. Funciile definite i salvate sub acelai identificator pot fi apelate din orice
alt duncie sau din fereastra comenzi Command Window. Funcia care are acelai identificator
cu al fiierului .m n care este salvat, controleaz toate celelate funcii definite n fiierul
respectiv. Este permis recursivitatea, numrul de niveluri de recursivitate putnd fi limitat.
3
Figure 1
4
All(B)= returneaz un vector. Fiecare component j a vectorului returnat are
valoarea 1 dac toate elementele de pe coloana j a matricei B sunt nenule sau
valoarea 0 dac cel puin un element de pe coloana j este nul.
Any(v)= returneaz valoarea 1 dac vectorul v are componente nenule i valoarea 0
dac toate componentele vectorului sunt nule.
Any(B)= returneaz un vector. Fiecare component j a vectorului returnat are
valoarea 1 dac exist elemente nenule pe coloana j a matricei B sau valoarea 0
dac toate elementele de pe coloana j sunt nule.
Length(v)= returneaz lungimea vectorului v, numrul de componente.
Length(A)= returneaz dimensiunea matricei ptratice A.
Length(B)= returneaz numrul de coloane din matricea B.
Sum(v)= returneaz suma elementelor vectorului v.
Sum(A)= returneaz un vector cu elementele= suma elementelor matricei a pe
fiecare coloan.
Sum(A,2)= returneaz un vector coloan cu elemntele= suma elementelor matricei
A de pe fiecare linie.
Min(v) sau max(v)= returneaz valoarea minim sau maxim a componentelor
vectorului v.
Min(B) sau max(B)= returneaz valoarea minim sau maxim a componentelor
coloanelor.
Prod(v)= returneaz produsul componentelor vectorului v.
Prod(B), prod(B,1), prod(B,2)= returneaz produsul componentelor coloanelor
matricei.
Size(B)= returneaz dimensiunea matricei B (linii i coloane).
Disp(B)= afieaz matricea B.
Det(A)= returneaz determinantul matricei B.
Inv(A)= returneaz inversa matricei A.
Islogic(s)= returneaz 1 dac s este de tip Boolean i 0 dac s nu e de tip Boolean.
Isempty(B)= returneaz 1 dac matricea B este vid, altfel returneaz 0.
Isnumeric(B)= returneaz 1 dac toate valorile matricei sunt numerice, altfel
returneaz 0.
Isequal(A,B)= returneaz 1 dac A=B, altfel returneaz 0.
Diag(B)= returneaz diagonala principal matricei B.
Cat(dim, v1, v2)= concateneaz tablourile v1 i v2 i genereaz n funcie de
valoarea parametrului dim un tablou corespunztor.
Exemplul1 : Vom defini funcia sd cu semntura y=sd(n) care primete la intrare un numr
natural nenul n i afieaz divizorii numrului n i returneaz suma divizorilor numrului n.
Function y=sd(n)
y=0;
for i=1:n
if rem(n,i)==0
mesaj1=[Numrul ,num2str(i), este divizor al numrului ,num2str(n)];
disp(mesaj1);
y=y+i;
end
end
mesaj2=[Suma divizorilor numrului ,num2str(n), este egal cu ,num2str(y)];
disp(mesaj2);
end.
6
@(inf1, inf2,, infn) expresie
O funcie se numete anonim dac nu are identificator, nu are paramterii de ieire i are
corpul format dintr-o singur expresie. O funcie anonim se definete cu sintaxa: n care inf1,
inf2,, infn sunt parametrii formali de intrare, iar expresie este corpul funciei.
Apelul funciei se face prin intermediul unui handle la aceast funcie, definit prin:
h=@(inf1, inf2,, infn) expresie, i apoi apelul h(ina1, ina2,, inan), n care ina1, ina2,, inan
sunt parametrii actuali de apel ai funciei.
Exerciiul2: Fie irul de numere (xn)nN definit prin x1=1, x2=0 i xn=xn-1-xn-2-1 pentru orice n>2. S
se scrie o funcie Matlab care primete la intrare un numr natural n>2 i furnizeaz la ieire
matricea A=(aij), i=1,2,,n; j=1,2,,n, n care aij=min{ai,aj}.
Function generarematrice
n=input(Tastai n, n>2: );
x=[]; A=[];
x(1)=1; x(2)=0;
for i=3:n
x(i)=x(i-1)-x(i-2)-1;
end
for i=1:n
for j=1:n
A(i,j)=max(x(i),x(j));
End
End
Mesaj=[x= (,num2str(x),)];
Disp(Mesaj);
Disp(A);
End
8
Cuprins
INTRODUCERE N LIMBAJUL MATLAB (Wikipedia)............................................................................ 1
INTRODUCERE N FUNCIILE MATLAB (Florin, 2010).......................................................................2
DEFINIREA FUNCIILOR (Paul, 2010)............................................................................................ 2
APELUL FUNCIILOR (Paul, 2010)................................................................................................. 3
TIPURI DE FUNCII (Florin, 2010)................................................................................................. 3
FUNCII PENTRU OPERAII CU VECTORI I MATRICI..................................................................3
FUNCII PENTRU GENERARE DE VECTORI I MATRICI...............................................................4
FUNCII PENTRU CITIRE I SCRIERE.......................................................................................... 5
VARIABILELE GLOBALE (Paul, 2010)............................................................................................. 5
FUNCIILE ANONIME (Paul, 2010)............................................................................................. 5
CONTROLUL NUMRULUI DE ARGUMENTE DIN APEL (Florin, 2010).............................................6
EXERCIII (Florin, 2010).................................................................................................................. 6
Cuprins............................................................................................................................................ 8
Bibliografie...................................................................................................................................... 9
9
Bibliografie
Florin, P. (2010). Informatic Aplicat Laborator. Constana: Academia Naval.
Paul, V. (2010). Informatic Aplicat Curs. Constana: Academia Naval.
Wikipedia.
10