Documente Academic
Documente Profesional
Documente Cultură
inginereti
Tema 6
Matlab
Functii utilizator
1.
Functii utilizator
2. Graficul unei functii utilizator se face cu comanda fplot(numef,limite,
spec1), unde limite este un vector cu 2 sau 4 valori indicand
limitele pentru x(2 valori), si eventual y(daca sunt 4 valori), iar
specl este specificatorul de linie acelasi ca la comanda plot
Exemplu aplicat la functia definita anterior
fplot(g,[-pi,pi],'r')
Functii utilizator
3. fminbnd(numef,xmin,xmax) comanda care
extrage valoarea minima a unei functii,
numef, pe un interval [xmin,xmax]
De exemplu pentru functia g, definita mai inainte
avem
fminbnd(g,-2,2)
ans =
-1.8235
Functii utilizator
4. quad(numef,a,b) functie care permte calculul integralei
definite a functiei numef, a si b fiind limitele intre
care se integreaza.
De exemplu pentru functia g, definita anterior, putem sa
calculam integrala pe intervalul cuprins intre pi/4 si
pi, astfel
quad(g,-pi/4,pi)
ans =
0.3589
adica
sin x
0.3589
sin x cos x 4
/ 4
Functii utilizator
5. dblquad(numef,ax,bx,ay,by) functie ce calculeaza
integrala dubla din functia numef, pe intervalul pe x
(ax,bx) si pe y (ay,by)
Fie functia h=inline('(x+5*y)./(x.^2+y.^2+0.1)')
h=
Inline function:
h(x,y) = (x+5*y)./(x.^2+y.^2+0.1)
Putem cacula integrala dubla pe intervalul pe x (0,1) si pe y(2,2)
dblquad(h,0,1,-2,2) 1 2
x 5y
ans =
dxdy 1.8241
2
2
1.8241
x y 0.1
0 2
Functii utilizator
6.
0 0 0
Functii utilizator
7. fzero(numef,x0) functie care permite calculul zerourilor
(radacinilor) cea mai apropiata de valoarea x0.
De exemplu: fie functia g1
g1=inline('(x.^2-1).*sin(3*x)')
g1 =
Inline function:
g1(x) = (x.^2-1).*sin(3*x)
Putem cauta valorile radacinilor apropiate de anumite valori
x0
fzero(g1,1.5)
ans = 1.0472
>> fzero(g1,0.9)
ans = 1.0000
Functii utilizator
Comparatie cu lucru cu functii in fisiere m file
O functie inline :
F = inline('1./(x.^3-2*x-5)');
Q = quad(F,0,2);
O functie care este definita in fisier de tip .m
Q = quad(@myfun,0,2);
unde myfun.m este un fisier M-file:
function y = myfun(x)
y = 1./(x.^3-2*x-5);
f ( x, y )
y
f ( x, y)dy
Se observ c
aceast funcie
calculeaz
produse de
polinoame,dar i
desface expresii
trigonometrice,
exponeniale sau
logaritmice