Sunteți pe pagina 1din 39

8.

FUNCII MATEMATICE N MATLAB


Funciile matematice uzuale i speciale se apeleaz cu sintaxa general:
y=nume_funcie(argument)
unde:
nume_funcie, este numele uneia dintre funciile matematice;
argument, este valoarea pentru care se evalueaz funcia;
y este variabila n care se returneaz rezultatul.
Dac argumentul este o matrice, funciile matematice opereaz asupra
fiecrui element.
8.1. Funcii trigonometrice
Principalele funcii trigonometrice directe, apelabile n Matlab sunt:
sin(x) , care calculeaz sinusul argumentului x, dat n radiani;
cos(x) , care calculeaz cosinusul argumentului x, dat n radiani;
tan(x) , care calculeaz tangenta argumentului x, dat n radiani;
cot(x) , care calculeaz cotangenta argumentului x, dat n radiani;
sec(x) , care calculeaz secanta argumentului x, dat n radiani;
csc(x) , care calculeaz cosecanta argumentului x, dat n radiani.

Dac, de exemplu, argumentul x este vectorul:
x = [ pi/6 pi/4 pi/3 pi/2
pi/2+pi/6 pi/2+pi/4 pi/2+pi/3 pi
pi+pi/6 pi+pi/4 pi+pi/3 pi+pi/2
3*pi/2+pi/6 3*pi/2+pi/4 3*pi/2+pi/3 2*pi ],
care n radiani este,

x =[ 0.5236 0.7854 1.0472 1.5708
2.0944 2.3562 2.6180 3.1416
3.6652 3.9270 4.1888 4.7124
5.2360 5.4978 5.7596 6.2832],
atunci pentru:
sin(x) se obine,
ans =
0.5000 0.7071 0.8660 1.0000
0.8660 0.7071 0.5000 0.0000
-0.5000 -0.7071 -0.8660 -1.0000
-0.8660 -0.7071 -0.5000 -0.0000

cos(x) se obine,
ans =
0.8660 0.7071 0.5000 0.0000
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 170
-0.5000 -0.7071 -0.8660 -1.0000
-0.8660 -0.7071 -0.5000 -0.0000
0.5000 0.7071 0.8660 1.0000.
Pentru y = [pi/3 pi/4 pi/6], dac se calculeaz:
tan(y) se obine,
ans =
1.7321 1.0000 0.5774,
cot(y) se obine,
ans =
0.5774 1.0000 1.7321,
sec(y) se obine,
ans =
2.0000 1.4142 1.1547,
csc(y) se obine,
ans =
1.1547 1.4142 2.0000.


Principalele funcii trigonometrice inverse, apelabile n Matlab sunt:
asin(x), care calculeaz arcsinusul argumentului x;
acos(x), care calculeaz arccosinusul argumentului x;
atan(x), care calculeaz arctangenta argumentului x;
atan2(y,x), care calculeaz arctangenta prii reale a elementelor x i y,
cu condiia ca . -pi <= atan2(y,x) <= pi;
acot(x), care calculeaz arccotangenta argumentului x;
asec(x), care calculeaz arcsecanta argumentului x;
acsc(x), care calculeaz arccosecanta argumentului x.

Dac pentru x = [ 0 1/2 1], calculnd:
asin(x) se obine,
ans =
0 0.5236 1.5708,
acos(x) se obine,
ans =
1.5708 1.0472 0,
atan(x) se obine,
ans =
0 0.4636 0.7854,
acot(x) se obine,
ans =
1.5708 1.1071 0.7854.

Funcii matematice n Matlab 171
8.2. Funcii hiperbolice
Principalele funcii hiperbolice directe, apelabile n Matlab sunt:
sinh(x), care calculeaz sinusul hiperbolic al argumentului x;
cosh(x), care calculeaz cosinusul hiperbolic al argumentului x;
tanh(x), care calculeaz tangenta hiperbolic a argumentului x;
coth(x), care calculeaz cotangenta hiperbolic a argumentului x;
sech(x), care calculeaz secanta hiperbolic a argumentului x;
csch(x), care calculeaz cosecanta hiperbolic a argumentului x;

Considernd x=[0 pi/6 pi/2 pi/3 pi] i calculnd:
sinh(x) se obine,
ans =
0 0.5479 2.3013 1.2494 11.5487,
cosh(x) se obine,
ans =
1.0000 1.1402 2.5092 1.6003 11.5920,
tanh(x) se obine,
ans =
0 0.4805 0.9172 0.7807 0.9963,
coth(x) se obine,
ans =
Inf 2.0813 1.0903 1.2809 1.0037,
sech(x) se obine,
ans =
1.0000 0.8770 0.3985 0.6249 0.0863,
csch(x) se obine,
ans =
Inf 1.8253 0.4345 0.8004 0.0866.

Principalele funcii hiperbolice inverse, apelabile n Matlab, sunt:
asinh(x), care calculeaz arcsinusul hiperbolic al argumentului x;
acosh(x), care calculeaz arccosinusul hiperbolic al argumentului x;
atanh(x), care calculeaz arctangenta hiperbolic a argumentului x;
acoth(x), care calculeaz arccotangenta hiperbolic a argumentului x;
asech(x), care calculeaz arcsecanta hiperbolic a argumentului x;
acsch(x), care calculeaz arccosecanta hiperbolic a argumentului x;

Dac x = [0 1/2 1], calculnd:
asinh(x) se obine,
ans =
0 0.4812 0.8814,
acosh(x) se obine,
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 172
ans =
0 + 1.5708i -0.0000 + 1.0472i 0,
atanh(x) se obine,
ans =
0 0.5493 Inf.

Pentru argumente numere complexe de forma z=x+iy, relaiile de calcul
sunt:
sin(z) = sin(x)*cosh(y) + i*cos(x)*sinh(y);
cos(z) = cos(x)*cosh(y) - i*sin(x)*sinh(y);
tan(z) = sin(z)/cos(z);
cot(z) = cos(z)/sin(z).
8.3. Funcii de tip exponenial
Dup cum am artat anterior, ridicarea unui numr a la puterea n se face
prin instruciunea a^n. Exponentul n poate avea orice valoare, real sau complex.
Pentru a calcula radicalul de ordinul n dintr-un numr a, se utilizeaz funcia
putere sub forma a^(1/n). De exemplu, dac a = 9 i n=2, atunci a^n este 9^2,
respectiv 81, iar a^(1/n) este 9^(1/2), respectiv 3.

Ridicarea la puterea x a numrului 2 (2
x
), se poate face prin funcia
pow2(x). Dac x este o matrice, atunci rezultatul va fi o matrice de aceleai
dimensiuni, funcia acionnd element cu element. Pentru x=3.1, pow2(x) este
8.5742. Calculul unui numr de forma y=m*2
n
, se realizeaz printr-o instruciune
de forma y=pow2(m,n). Pentru m=20.1 i n=3.5, cu comanda y=pow2(m,n) se
obine 161.2.

Pentru calculul exponenialei e
x
(unde e=2.71828182845), se utilizeaz
funcia exp(x), unde x este argumentul. Dac x=[1 2 2 1], atunci exp(x) conduce
la:
ans =
2.7183 7.3891 0.1353 0.3679.
Dac argumentul este un numr complex de forma z=x+i*y, atunci rezultatul
se calculeaz cu relaia: ( ) ( ) ( ) y sin i y cos e e
x z
+ = . Pentru z=2+3*i se obine:
ans =
-7.3151 + 1.0427i.

Pentru calculul logaritmului natural, al logaritmului n baza 2 sau al
logaritmului zecimal (n baza 10) al numrului a (real, sau complex), sunt
disponibile funciile log, log2 i respectiv log10, apelabile cu sintaxele:
x=log(a); x=log2(a); x=log10(a).
Dac a = [2 ^2 3^2 2^5 10^3 10^(-2) 2^(-3)], atunci:
log(a) este [1.3863 2.1972 3.4657 6.9078 -4.6052 -2.0794],
Funcii matematice n Matlab 173
log2(a) este [2.0000 3.1699 5.0000 9.9658 -6.6439 -3.0000], iar
log10(a) este [0.6021 0.9542 1.5051 3.0000 -2.0000 -0.9031].
Atunci cnd argumentul funciei log este un numr complex, de forma
z=x+i*y, rezultatul este calculat cu relaia: log(z) = log(abs(z)) + i * atan2(y,x).
Funcia log2 , de argument complex, se calculeaz cu relaia:
log2(z) = log2(abs(z)) + i * atan2(y,x)/log(2), iar funcia log10 prin relaia,
log10(z) = log(abs(z)) + i * atan2(y,x)/log(10).
Pentru z = 5+ 7* i se obine c log(z) este 2.1520 + 0.9505i, log2(z) este
3.1047 + 1.3713i, iar log10(z) este 0.9346 + 0.4128i.
Funcia log2 de argument real X (numr sau vector), poate fi apelat prin
sintaxa [F,E]=log2(x), situaie n care returneaz un numr real F, uzual n
domeniul 0.5 <= abs(F) < 1, i un numr ntreg E, astfel nct X = F .* 2.^E, ceea
ce corespunde funciei frexp( ) din ANSI C i funiei standard logb( ) din IEEE.

Calculul radicalului de ordinul 2 dintr-un numr a, respectiv a , se
realizeaz prin utilizarea funciei sqrt(a). Dac numrul a este negativ sau
complex, rezultatul calculului este un numr complex.
De exemplu, pentru a = [9 4 4+9*i 2], prin sqrt(a) se obine:
ans =
3 2i 2.6314 + 1.7101i 1.4142.

Determinarea puterii N a numrului 2 care majoreaz modulul
argumentului P, astfel nct
N
2 P se face prin funcia N=nextpow2(P), care
returneaz cel mai mic numr N, care ndeplinete condiia impus. Dac P este
vector, funcia returneaz scalarul N, astfel nct 2
N
majoreaz numrul de
elemente ale vectorului. Pentru P=19, cel mai mic numr N este obinut cu relaia
nextpow2(19), rezultnd 5, astfel nct 2^5=32 este numrul majorant.
8.4. Funcii de tip complex
Construirea unui numr complex, z, dat prin partea real x i partea
imaginar y, se face cu instruciunea z=complex(x,y), care are ca rezultat z=x+i*y.
De altfel, se poate forma un numr complex i numai prin instruciunea z=x+i*y,
iar n loc de i poate fi i j. Dac y lipsete, atunci instruciunea devine complex(x),
iar numerele z sunt complexe, avnd partea imaginar 0.

Calculul valorii absolute sau a modulului argumentului i y x z + = , real
sau imaginar se face prin funcia abs(z). Dup cum se tie, modulul r al unui
numr complex este
2 2
y x r + = . Pentru x=[2 3 4+2*i], aplicnd funcia
abs(x), se obine [ 2.0000 3.0000 4.4721].

Calculul unghiului fazei, respectiv a argumentului a numrului complex
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 174
i y x z + = , respectiv unghiului, n radiani, fcut n planul complex (x i y), se
realizeaz prin funcia angle(z), care este echivalent cu atan(y/x). n general,
argumentul este determinat, n afara unui multiplu de 2 , prin
( ) ( )
r
y
sin ,
r
x
cos = = . Cu cele de mai sus, forma trigonometric a numrului
complex este: ( ) ( ) ( ) sin cos r z i + = . Pentru z=2+3*i, prin angle(z) se obine
0.9828, acelai rezultat ca i prin atan(3/2).

Partea real x, a unui numr complex i y x z + = , se extrage prin funcia
real(z), iar partea imaginar prin funcia imag(z). Pentru z=2+3*i, prin real(z) se
obine valoarea 2, iar prin imag(z) se obine 3. Calculul prii reale i imaginare a
numerelor complexe, exprimate n form polar, se poate face i cu funcia
unwrap.

Pentru un numr complex i y x z + = , conjugatul su este i y x z = i
poate fi obinut prin funcia conj(z). Dac z=2+3*i, atunci conj(z) este 2-3*i.

Determinarea situaiei, dac un vector sau matrice X are toate elementele
numere reale (respectiv dac partea imaginar a fiecrui element este 0) se
realizeaz prin funcia isreal(X), care rspunde prin 1, dac toate elementele sunt
reale i prin 0, altfel. Pentru X=[2 i 5+2*i 7] prin isreal(X) se obine 0, iar pentru
XX=[2 -1 7], cu isreal(XX) se obine 1.

Sortarea unor numere complexe conjugate perechi (sau reale partea
conjugat 0), n ordinea cresctoare a prii reale, se realizeaz prin funcia
cplxpair. Dac X=[8 1+2*i 4 1-2*i 2 3-2*i 3+2*i], atunci funcia
cplxpair(X), returneaz [1+2i 1-2i 3+2i 3-2i 2 4 8].
8.5 Funcii pentru aproximarea numerelor
Funciile Matlab pentru aproximarea cu numere ntregi sunt:
fix care rotunjete la cel mai apropiat ntreg spre zero ;
floor ce rotunjete la cel mai apropiat ntreg spre minus infinit (- ) ;
ceil - care rotunjete la cel mai apropiat ntreg spre plus infinit (+) ;
round - care rotunjete la cel mai apropiat ntreg.

Funciile de mai sus opereaz asupra fiecrui element al unei matrice sau
vector i se apeleaz cu sintaxa nume_funcie(argument), unde nume_funcie este
numele uneia dintre funciile de mai sus (fix, floor, ceil, round), iar argument
poate fi un scalar, un vector sau o matrice, ale crui elemente se doresc a fi
rotunjite. Atunci cnd elementele din argument sunt numere complexe, funciile de
mai sus opereaz independent asupra fiecrei pri (real sau imaginar). Dac
considerm vectorul, V = [-0.25 -7.2 2.4-2.6i 0.499 0.501 2.71+3.49i
Funcii matematice n Matlab 175
11.5i], atunci:
fix(V) este [ 0 -7 -2-2i 0 0 2+3i 11i ];
floor(V) este [ -1 -8 -3-3i 0 0 2+3i 11i ];
ceil(V) este [ 0 -7 -2-2i 1 1 3+4i 12i ];
round(V) este [ 0 -7 -2-3i 0 1 3+3i 12i ].

Pentru aproximarea numerelor reale cu fracii continue se utilizeaz
funcia rat, apelat cu una dintre sintaxele,
[N,D] = rat(x), [N,D] = rat(x,tol),
unde: x este numrul care trebuie aproximat cu fracii continue ; tol este tolerana
care se accept ntre numrul x dat i numrul y (aproximat), astfel nct
tol x y , avnd valoarea implicit, tol=10
-6
; N, D sunt numrtorul, respectiv
numitorul fraciei, care aproximeaz pe x cu toleran tol, astfel nct abs(N./D - X)
<= tol*abs(X); y este exprimarea lui x ca fracie continu.
Numrul y, rezultat prin funcia rat, aproximeaz fiecare element al
vectorului x cu un numr de forma:
k
2
1
0
d
1
... d
1
d
1
d y
+ +
+
+ = . De menionat c
acelai algoritm se utilizeaz i la apelarea instruciunii interne format rat.
Dac, de exemplu, x = [0.25 1.35 3.455 1.3456], atunci rat(x) este
ans =
0 + 1/(4)
1 + 1/(3 + 1/(-7))
-3 + 1/(-2 + 1/(-5 + 1/(-18)))
1 + 1/(3 + 1/(-9 + 1/(-3 + 1/(2 + 1/(4))))),
astfel nct:
4
1
0 0.25 + = ,
7 -
1
3
1
1 1.35
+
+ = ,
18
1
5 -
1
2 -
1
3 3.455 -

+
+
+ = ,
4
1
2
1
3
1
9 -
1
3
1
1 1.3456
+
+
+
+
+ = , approximate cu tolerana implicit 10
-6
.

Aproximarea numerelor reale cu numere raionale se realizeaz prin
apelarea funciei rats, cu sintaxa rats(x), utilizat i n format rat. Pentru aceleai
valori ale lui x, ca mai sus, se obine:
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 176
ans =
1/4 27/20 -691/200 841/625.

Funcia mod(x,y) calculeaz modulus (restul cu semn dup mpirea dintre
x i y), astfel c mod(x,y) = x - y.*floor(x./y) dac y ~= 0, iar prin convenie,
mod(x,0) este x. Intrrile x i y trebuie s fie matrice reale de aceeai dimensiune,
sau una trebuie s fie scalar.

Funcia rem(x,y) calculeaz restul mpririi lui x la y, element cu element,
astfel c mod(x,y) = x - y.*fix(x./y) dac y ~= 0, iar prin convenie, rem(x,0) este
NaN. Intrrile x i y trebuie s fie matrice reale de aceeai dimensiune sau una
trebuie s fie scalar.
Dac se calculeaz restul mpririi vectorului x=[1 3 -6], la y=[2 3 4], cu
z=rem(z,y), se ob=[2 3 4], cu z=rem(z,y), se obine
z=[ 1 0 -2]

Funcia mod(x,y) are acelai semn cu y, atunci cnd rem(x,y) are semnul lui
x. Cele dou funcii mod(x,y) i rem(x,y) sunt egale dac x i y au acelai semn,
dar difer dac y sau x au semne diferite. Dac X=[1.5 9 -4.5] i Y=[-0.5 -3 4],
atunci mod(X,Y) este [ 0 0 3.5], iar rem(X,Y) este [0 0 -0.5], dar mod(Y,X)
este [1 6 -0.5], iar rem(Y,X) este [-0.5 -3 4]. Considernd X1=[2.5 6 7] i
Y1=3, atunci rem(X1,Y1) este [2.5 0 -1], iar rem(Y1,X1) este [0.5 3 3], pe
cnd mod(X1,Y1) este [2.5 0 2], iar mod(Y1,X1) este [0.5 3 -4].

Funcia sign(x) asociaz fiecrui element al vectorului x elementele 1, 0, 1,
dup urmtoarea regul: ( )

<
=
>
=
0 x 1 -
0 x 0
0 x 1,
x sign , . Dac x este complex, atunci
sign(x)=x./abs(x).

8.6. Funcii pentru aflarea unor numere importante
Factorii primi ai unui numr natural pozitiv N, alii dect 1, sunt calculai
cu funia factor(N). Dac N=33, atunci factor(N), gsete ca factori primi 3 i 11.

Generarea unei liste cu toate numerele prime mai mici sau egale cu un
numr natural pozitiv N (altele dect 1), se face prin utilizarea funciei primes(N).
Dac N=33, atunci primes(33), produce lista,
ans =
2 3 5 7 11 13 17 19 23 29 31,
care conine toate numerele prime mai <=N.

Verificarea dac, un numr natural N sau un element dintr-un vector sau
matrice este prim, se realizeaz prin utilizarea funciei isprime( N), la care se
Funcii matematice n Matlab 177
obine rspunsul 1 atunci cnd este prim i 0, altfel. De exemplu, pentru
isprime(31) se obine 1, iar pentru isprime(33) se obine 0.

Calculul celui mai mare divizor comun G, a dou numere ntregi a i b,
se obine prin utilizarea funciei G=gcd(a,b). Pentru a=2310 i b=273, funcia
gcd(a,b) gsete 21, care este cel mai mare divizor comun.

Calculul celui mai mic multiplu comun M, a dou numere ntregi a i b,
se realizeaz prin utilizarea funciei M=lcm(a,b). Pentru a=2310 i b=273, funcia
lcm(a,b) se gsete 30030, care este cel mai mic multiplu comun.

Numrul tuturor combinaiilor a N elemente, luate cte K (K<=N),
respectiv a coeficienilor binomiali, se afl cu instruciunea nchoosek(N,K), care
calculeaz N!/(K!(N-K)!). Pentru N=9 i K=3, prin nchoosek(N,K), se obine 84,
iar pentru N=3, K=2, se obine 3.

Gsirea tuturor permutrilor posibile (fr repetiie), a numerelor naturale
dintre 1 i un numr oarecare N (N<15), se obine cu funcia perms(1:N), care
are ca rezultat o matrice cu N! linii i N coloane, coninnd toate permutrile
posibile.
Pentru N=3, prin perms(1:3) se obine:
ans =
3 2 1
2 3 1
3 1 2
1 3 2
2 1 3
1 2 3.

Funcia factorial(N) realizeaz produsul tuturor ntregilor de la 1 la N, fiind
similar cu funcia prod(1:N) i realiznd produsul 1*2* *N. Pentru numere n
dubl precizie, care au peste 15 digii, rezultatul este corect pentru N<=21, iar
pentru N>21 sunt corecte primele 15 semne (digii). De exemplu, factorial(4) este
1*2*3*4=24.

8.7. Funcii matematice speciale
8.7.1. Funcia Gamma, Gamma incomplet
Funcia Gamma sau funcia lui Euler de spea a doua, poate fi definit prin:
integrala ( )


=
0
1
dt e t x
t x
, unde x ,
sau
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 178
prin limita irului
( )
( ) ( ) ( )
x
n
n n
n x x x x
x
+ + +
=


!
2 1
lim
1 K
.

Principalele proprieti ale funciei Gamma sunt:
dac argumentul x este un ntreg, atunci funcia Gamma este identic cu
funcia factorial, respectiv ( ) 1 ! + = n n ;
pentru orice z finit, este satisfcut relaia de recuren ( ) ( ) x x x = + 1 ;
cunoscnd valoarea pentru x > 1, valorile pentru x < 1 se determin din
ecuaia complementelor ( )
( ) ( ) ( ) ( ) x x
x
x x
x
+

=

=

sin 1 sin
1 ;
pentru
2
1
= x funcia = |

\
|

2
1
.

n Matlab, funcia Gamma se apeleaz cu sintaxa y=gamma(x), unde x este
argumentul iar y este valoarea calculat. Pentru x=2.5 se obine 1.3293, iar pentru
x=0.5 se obine -3.5449.

Pentru x>0 se poate calcula logaritmul natural al funciei Gamma cu
instruciunea gammaln(x), care corespunde lui log(gamma(x)), ns calculul se
face printr-o metod direct, fr a calcula gamma(x).

Funcia Gamma incomplet, gammainc(x,a), este definit de relaia,

>

=
+

x
a t
x a a dt t e
a
a x P
0
1
, 0 ,
) (
1
) , ( ,
i are limitele: ( ) 1 ) , ( , 0 , 0 = = a P a P .
Pentru x=1.25 i a=0.5, cu gammainc(1.25,0.5) se obine 0.8862.

Pentru x=[0:0.1:15] i diverse valori ale lui a, funcia Gamma incomplet se
obine prin instruciunile:
g_05=gammainc(x,0.5); g_1=gammainc(x,1);
g_3=gammainc(x,3); g_10=gammainc(x,10),
iar valorile sunt prezentate n figura 8.1.
Complementul funciei P(x,a), notat cu Q(x,a), este de multe ori confundat
cu funcia gamma incomplet,

>

= =
+

x
x
a t
x a a dt t e
a a
a x
a x P a x Q , 0 ,
) (
1
) (
) , (
) , ( 1 ) , (
1

i are limitele,
( ) 0 ) , ( , 1 , 0 = = a P a Q .
Funcii matematice n Matlab 179

Fig. 8.1. Funcia Gamma incomplet pentru diverse valori ale lui a i x

8.7.2. Funciile Beta i Beta incomplet
Funcia Beta, ( ) q p B , , sau funcia lui Euler de prima spe, de variabile
complexe p i q, poate fi definit prin integrala,
( ) ( )


=
1
0
1 1
1 , dt t t q p B
q p
,
convergent pentru ( ) 0 > p , ( ) 0 > q .

Principalele proprieti ale funciei Beta sunt:
funcia Beta, ( ) q p B , , este simetric n raport cu p i q, ( ) ( ) p q B q p B , , = ,
obinut prin schimbarea de variabil = t 1 , astfel c
( ) ( ) ( )

= = =
0
1
1
0
) , ( 1 1 , p q B d d q p B
p q p p
;
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 180
ntre funciile lui Euler ( ) q p B , i ( ) z exist relaia
( )
( ) ( )
( ) q p
q p
q p B
+

= , ;
pentru funcia lui Euler de prima spe avem egalitatea,
( )
( ) ( )
( )
( ) ( )
( )
( ) q p qB
q p
q p
q
q p
q p
p q p pB , 1
1
1
1
1
1 , + =
+ +
+
=
+ +
+
= + .

n Matlab, funcia Beta se apeleaz cu sintaxa b=beta(p,q), unde p i q sunt
argumentele, iar b este valoarea calculat. Pentru p=0.5 i q=1.5 se obine 1.5708.

Pentru x>0 se poate calcula logaritmul natural al funciei beta, cu
instruciunea betaln(p,q), care corespunde lui log(beta(p,q)), ns calculul se face
printr-o metod direct, fr a calcula beta(p,q). Pentru p=0.5 i q=1.5 se obine
0.4516.
Funcia Beta incomplet, betainc(x,p,q), este definit de relaia,
( )
( )
( )
( )
( )

+ +
+ +
+

= =

=
+
x
n
n
q p
q p inc
x
n q p B
n p B
q p pB
x x
dt t t
q p B
q p x B
0
0
1 1 1

1 ,
1 , 1
1
,
1
1
) , (
1
) , , (
cu,
] 1 , 0 [ , 0 , >
+
x p,q q p
i limitele:
( ) 0 , , 0 = q p B
inc
, 1 ) , , ( = q p B
inc
.

Pentru x=[0:0.01:1] i diverse valori ale lui p i q, funcia Beta incomplet se
obine prin:
b1=betainc(x,0.5,5), b2=betainc(x,1,3),
b3=betainc(x,8,10), b4=betainc(x,0.5,0.5),
iar graficul este prezentat n figura 8.2.

Pentru calculul funciei Beta incomplet se utilizeaz algoritmul din funcia
betacore, apelat n betainc(x,a,c) prin instruciunea betacore(x,a,b).

Funcii matematice n Matlab 181

Fig. 8.2. Funcia Beta incomplet pentru diverse valori ale lui p, q i x
8.7.3. Funciile lui Bessel
Printre funciile speciale, deosebit de importante sunt funciile lui Bessel,
deoarece se ntlnesc n diverse probleme din mai toate domeniile fizicii i ale
tehnicii.
Ecuaia diferenial
( )
( ) 0 ) (
) ( ) (
0 ) ( ) ( ) (
2 2
2
2
2
2 2 2
= + +
= + +
x y x
dx
x dy
x
dx
x y d
x
x y x x y x x y x


unde este un parametru real sau complex, se numete ecuaia lui Bessel, iar
soluiile acestei ecuaii se numesc funcii Bessel.
Funciile Bessel se mai numesc i funcii cilindrice datorit faptului c apar
la rezolvarea ecuaiei lui Laplace n coordonate cilindrice, n problemele la limit
din teoria potenialului (electric, termic, chimic).
Soluia general a ecuaiei lui Bessel pentru n ntreg este
) ( ) (
2 1
x J C x J C y

+ =
unde C
1
i C
2
sunt constante arbitrare, iar J

i J
-
sunt funciile Bessel de spea nti
i ordinul , respectiv .
Funcia Bessel de spea nti i ordinul , pentru o valoare x, din domeniul de
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 182
olomorfie (x)-T, unde T este o semidreapt cu originea n x=0, este dat de relaia
( )
( )

=
+
+ +
|

\
|
=
0
2
1 !
2
1 ) (
p
p
p
p p
x
x J

.
ntre funciile Bessel cu indici de semne contrare, J

i J
-
, exist relaia
( ) ) ( 1 ) ( x J x J
n

=

.
n Matlab, funcia Bessel de spea nti i ordinul niu () real, pozitiv i
argumentul x se calculeaz cu instruciunea J=besselj(niu,x). Dac x i niu sunt
vectori de dimensiunile m i respectiv n, atunci J va fi o matrice cu dimensiunea
m
x
n, n care elementul din poziia (j,k) este dat de J(j,k)=besselj(niu(j),x(k)), cu
j=1,,m<=1000, iar k=1,,n.
O variant veche de apelare a funciei Bessel de spea nti i ordinul niu ()
real, pozitiv i argumentul x era bessela(niu,x).

n figura 8.3 se prezint grafic valorile funciei Bessel de spea nti i de
ordinele 2,-1,0, 1, 2, pentru argumentul x variind ntre 0 i 20, cu decrementul 0.1,
calculate cu secvena de program:
x=0:0.1:20; niu=[-2 -1 0 1 2]; J_2=besselj(-2,x); J_1=besselj(-1,x);
J0=besselj(0,x); J1=besselj(1,x); J2=besselj(2,x);
plot(x,J_2,'r-',x,J_1,'b:',x,J0,'g.',x,J1,'y-.',x,J2,'c--');grid

Soluia general a ecuaiei lui Bessel pentru n = ntreg este
) ( ) (
2 1
x Y C x J C y
n n
+ =

unde C
1
i C
2
sunt constante arbitrare, J
n
este funcia Bessel de spea nti i ordin n
iar Y
n
este funcia Bessel de spea a doua i ordinul n, numite i funciile lui
Neumann, astfel c uneori sunt notate cu N
n
.
Pentru n ntreg i pozitiv ( )
( )


=
1
0
2
2
! 2
! 1 1
2
ln
3
2
) (
n
k
n k
n k n n
x
k
k n x
x J x Y

, iar
pentru n nentreg este o combinaie liniar,
( ) ( )
nx
x J nx x J
x Y
n n
n
sin
cos
) (

= .
Funciile Bessel de spea nti, J

(x), i spea a doua, Y


-
(x), sunt linear
independente oricare ar fi .
De menionat c functiile Bessel de spea a doua (funciile Neumann) sunt
definite i pentru valori negative ale lui n, iar ntre acestea exist relaia
( ) ) ( 1 ) ( x Y x Y
n
n
n
=

.
n Matlab, funciile Bessel de spea a doua (funciile Neumann) sunt
calculate cu instruciunea Y=bessely(niu,x), unde niu este ordinul, iar x ordonatele
Funcii matematice n Matlab 183
punctelor unde se evaluaz funcia Neumann.

Fig. 8.3. Funciile Bessel de spea nti i ordin ntreg

Funciile Bessel de prima spe (numite de multe ori de primul sau ntiul
ordin) i spea a doua (numite i de ordinul doi) sunt asemntoare cu funciile
trigonometrice i, de fapt, funcia J

(x) corespunde lui cos(x) i funcia Y

(x)
corespunde lui sin(x). Aceasta sugereaz deci s se defineasc pentru funciile
cilindrice, funcii care sunt legate de J

i Y

n acelai mod cum funciile


exponeniale sunt legate de cele trigonometrice, adic
( )
( )
( )
( ), ) ( ) ( , ) ( ) (
2 1
x iY x J x H x iY x J x H

= + =
unde i este unitatea imaginar.
Funciile
( ) ( )
) ( ), (
2 1
x H x H

se numesc funciile lui Bessel de spea a treia
(sau de ordinul trei) sau funciile lui Hankel. Acestea sunt cunoscute ca funciile
Hankel de spea nti ,
( )
) (
1
x H

, respectiv de spea a doua,


( )
) (
2
x H

.
Dac n ntreg, atunci
( )
( ) ( )

sin
) (
1
x J e x J
i x H
i

= ,
( )
( ) ( )

sin
) (
2
x J e x J
i x H
i

= .
Schimbnd pe n , rezult evident,
( ) ( )
) ( ) (
1 1
x H e x H
i

,
( ) ( )
) ( ) (
2 2
x H e x H
i

= .
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 184
n Matlab, funciile Bessel de ordinul trei sau funciile lui Hankel sunt
calculate cu instruciunea H=besselh(niu,k,z), unde niu este ordinul, k este ordinul
sau spea (k=1 pentru spea nti i k=2 pentru spea a doua), iar x ordonatele
punctelor unde se evaluaz funcia Hankel.

Valorile funciilor Bessel pentru valori foarte mici ale argumentului (|x|<<1)
sunt:
( ) 1
2 4
1
2
1
4 2
0

|

\
|
+
|

\
|

x x
x J ; ( )
( ) n
x
x J
n
n
n

2
;
( ) ; 57722 . 0 ln
1
...
3
1
2
1
1 lim ln ; ln
2
ln
2
0
= |

\
|
+ + + + = |

\
|
+

n
n
x
x Y
n


( )
( )
0 , ,
! 1 2
>

n N n
x
n
x Y
n
n
n

,
n care ln este constanta Euler-Mascheroni.
Comportarea funciilor Bessel pentru valori foarte mari ale argumentului
( x ) este dat de formulele asimtotice:
( ) ,
2 4
cos
2
|

\
|

n x
x
x J
n
|x|1;
( ) ,
2 4
sin
2
|

\
|

n x
x
x Y
n
|x|1;
( ) ( ) ,
2
,
2
2 4 2 2 4 1
|

\
|
|

\
|




n x j
n
n x j
n
e
x
x H e
x
x H |x|1.

Pentru funciile lui Bessel sunt valabile urmtoarele formule de recuren:
( ) ( ) ( ) ( ) ( ) ( ) x Y x Y
x
n
x Y x J x J
x
n
x J
n n n n n n 1 1 1 1
2
,
2
+ +
= = ,
( ) ( ) ( ) ( ) ( ) ( ) x J
x
n
x J x J x J
x
n
x J x J
dx
d
n n n n n n
= = =
+ 1 1
, ( ) ( ) x J x J
1 0
= ,
( ) ( ) ( ) ( ) ( ) ( ) x Y
x
n
x Y x Y x Y
x
n
x Y x Y
dx
d
n n n n n n
= = =
+ 1 1
, ( ) ( ) x Y x Y
1 0
= ,
( ) ( )dx x xJ
x
x J

=
0 1
1
, ( ) ( )dx x xY
x
x Y

=
0 1
1
, ( ) ( ) ( )dx x xJ
x
x J x J

= +
2
0 2
2
1
2
0
2
,
( ) ( )
( )
( ) ( ) x J
x
x J
x
n n
x J x J
dx
d
n n n n 1
2 2
2
1
1
1
+
+

= = ,
Funcii matematice n Matlab 185
( ) ( )
( )
( ) ( ) x Y
x
x Y
x
n n
x Y x Y
dx
d
n n n n 1 2 2
2
1
1
1
+
+

= = .

Dac ordinul funciei Bessel este un multiplu impar al lui 1/2, atunci funcia
Bessel de prima spe (ordinul nti) poate fi exprimat, sub form compact, cu
ajutorul funciilor trigonometrice elementare i al puterilor negative, ntregi i
fracionale, ale lui x,

( ) ( ) , cos
2
, sin
2
2
1
2
1
x
x
x J x
x
x J

= =


( ) ( ) , cos
2
1
sin
2
, cos sin
1 2
2
3
2
3
|

\
|
+ = |

\
|
=

x x
x
x J x x
x x
x J


( ) ntreg, , cos
1
sin
1 2
2
1
n x
x
B x
x
A
x
x J
n n
n

\
|
+ |

\
|
=
+

iar
|

\
|
|

\
|
x
B
x
A
n n
1
,
1
sunt
polinoame n
x
1
de grad cel mult n.

Liouville a artat c acestea sunt singurele funcii Bessel care pot fi
exprimate prin funcii elementare, iar toate celelalte sunt funcii transcendente noi.

Funciile Bessel de prima spe i de ordin ntreg pot fi reprezentai printr-o
integral definit. Astfel,
( ) ( )

= = =


0
2
0
sin
2
0
cos
sin cos
1
2
1
2
1
d n x d e e d e e
i
x J
in ix in ix
n n
,
( ) ( ) ( )


= = =
1
0
2
2
0 0
0
1
cos 2
sin cos
2
sin cos
1
du
u
ux
d x d x x J

.

De asemenea, funciile Bessel de prima spe i de ordin ntreg, ( ) x J
n
,
admit reprezentarea ( )
+
|
|

\
|

=
C
n
x
n
d
e
i
x J

1
1
2
2
1
, unde C este un cerc cu centrul n
punctul 0 = sau o curb simpl nchis care nconjur acest punct.


SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 186
8.7.4. Dezvoltarea n serie de funcii Bessel a unei funcii
oarecare. Ortogonalitatea funiilor Bessel de prima spe
i zerourile lor.
Se poate demonstra c o funcie oarecare poate fi exprimat sub forma
( ) ( )

=
=
1

x J a x f
n
, cu 1 0 x , adic poate fi exprimat cu ajutorul unui
numr mare de funcii Bessel de ordinul n. n aceast expresie ,... ... , ,
2 1
sunt
rdcinile funciei ( )
n
J ordonate dup mrime (n>-1), n fiind numr real.
Dac n este real n>-1, toate zerourile funciei ( ) x J
n
sunt reale, ntruct seria
corespunztoare are toi coeficienii reali. Funcia ( ) 0 = x J
n
, cu n real, are o
infinitate de rdcini reale.
Valorile coeficienilor le obinem n modul obinuit, nmulind ambii
membrii ai egalitii cu o asemenea funcie, nct n membrul drept al egalitii,
integrnd n domeniul 1 0 x , valoarea numai a unei singure integrale s rezulte
diferit de zero. n acest fel, poate fi determinat coeficientul corespunnztor
termenului respectiv.
Funciile ( ) ( ) ( ) 1 0 , ... , ... , ,
2 1
x x J x x J x x J x
n n n
, formeaz
o mulime de funcii ortogonale n domeniul 1 0 x , adic,
( ) ( ) ( ) ( ) k i dx x J x J x dx x J x J x
k n i n k n i n
= =

, 0 x
1
0
1
0
.
Coeficienii dezvoltrii n serie
( ) ( ) ( ) ( ) ... ...
2 2 1 1
+ + + + = x J a x J a x J a x f
n n n n n

i putem obine prin nmulirea ambilor membrii cu funcia ( ) x xJ
n
, integrnd de
la 0 la 1 i innd seama de relaia de ortogonalitate,
( ) ( ) k i dx x J x J x
k n i n
=

, 0
1
0
, astfel c termenii din membrul drept vor fi nuli,
cu excepia unuia singur.
Prin urmare, coeficientul al -lea al dezvoltrii n serie este:
( )
( )dx x J x x f
J
a
n
n

=
1
0
2
) (
2
.
8.7.5. Funciile Bessel modificate
n practic, nu obinem direct formele canonice ale ecuaiilor Laplace n
coordonate cilindrice,
Funcii matematice n Matlab 187
( ) ( ) 0 ) ( 0 ) (
) ( ) (
0 ) ( 1
) ( 1 ) (
2 2 2 2
2
2
2
2
2
2
2
= +
|

\
|
= + +
=
|
|

\
|
+ +
x y n x
dx
d
x
dx
d
x x y n x
dx
x dy
x
dx
x y d
x
x y
x
n
dx
x dy
x dx
x y d

ci, n general, trebuie s rezolvm ecuaii difereniale de forma:
0 ) (
) ( 1 ) (
2
2
2
2
=
|
|

\
|
+ + x y
x
n
k
dx
x dy
x dx
x y d
,
care, cu schimbarea de variabil kx z = ,se reduce la forma canonic.
Soluia general a ecuaiei anterioare se poate scrie sub forma
) ( ) (
2 1
kx J C kx J C y
n n
+ = sau ) ( ) (
2 1
kx Y C kx J C y
n n
+ = , care, pentru n i x ,iau
valori complexe.
Pentru cazul paricular 1
2
= k , ecuaia anterioar devine
0 ) ( 1
) ( 1 ) (
2
2
2
2
=
|
|

\
|
+ + x y
x
n
dx
x dy
x dx
x y d
,
avnd soluia general de forma,
) ( ) (
2 1
x K C x I C y
n n
+ = ,
unde ) (x I
n
este funcia Bessel modificat de spea nti, iar ) (x K
n
este funcia
Bessel modificat de spea a doua.
Aceste funcii modificate sunt echivalentele funciilor Bessel ) (x J
n
i
) (x Y
n
, care difer printr-un factor constant i sunt date de expresiile,
( ) ( ) ( ), ) ( ix J i ix J i x I
n
n
n
n
n
=


( ) ( ) [ ] ( ) ( ) [ ] x I x I
n
ix iY ix J i x K
n n n n
n
n
= + =


sin 2 2
) (
1
,
fiind denumite, din aceast cauz i funciile Bessel de argument pur imaginar.
n Matlab, aceste funcii sunt calculate cu formula bi=besseli(n,x) i
bk=besselk(n,x), unde n este ordinul, iar x este argumentul pur imaginar.
Pentru x pur imaginar, avnd valorile modulului x=[0:0.1:4], se reprezint n
figura 8.4, funciile Bessel modificate de spea nti (I) i a doua (K), de ordinul
n=0,1,2, calculate cu secvenele Matlab:
x =[0:0.001:3.5]; I_0=besseli(0,x); I_1=besseli(1,x); I_2=besseli(2,x);
x1=[0.01:0.001:3.5]; K_0=besselk(0,x1);
x2=[0.125:0.001:3.5]; K_1=besselk(1,x2);
x3=[0.5:0.001:3.5]; K_2=besselk(2,x3);
plot(x,I_0,x,I_1,'-.',x,I_2,'--',x1,K_0,x2,K_1,'-.',x3,K_2,'--').
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 188

Fig. 8.4. Funciile Bessel modificate

Dac comportarea funciilor Bessel de spea nti i a doua seamn cu aceea
a funciilor care descriu micarea oscilatorie amortizat, (ceea ce a reieit i din
faptul c pentru valori foarte mari ale argumentului ele pot fi nlocuite cu funcii
sinus, respectiv cosinus de amplitudine descresctoare), comportarea funciilor
Bessel modificate se aseamn cu aceea a funciilor exponeniale.

Valorile funciilor Bessel modificate, pentru valori foarte mici ale
argumentului (|x|<<1) sunt:
( ) 1
2 4
1
2
1
4 2
0

|

\
|
+
|

\
|

x x
x I ; ( ) 0 ,
2 !
1
>
|

\
|
n
x
n
x I
n
n
;
( ) ; 57722 . 0 ln ,
2
ln
0
=
x
x K ( )
( )
0 , ,
! 1 2
1

n N n
x
n
x K
n
n
n
,
n care ln este constanta Euler-Mascheroni.
Comportarea funciilor Bessel modificate, pentru valori foarte mari ale
argumentului ( x ) este dat de formulele asimtotice:
( )
x
e
x I
x
2
0
, ( )
x
e
x
x K

2
0

, |x|1;
Funcii matematice n Matlab 189

( ) x x I
x I
2
1
1
) (
0
1
,
( ) x x K
x K
2
1
1
) (
0
1
+ , |x|1.

Pentru funciile Bessel modificate, sunt valabile urmtoarele formule de
recuren:
( ) ( ) ( ) ( ) ( ) ( ) x K x K
x
n
x K x J x I
x
n
x I
n n n n n n 1 1 1 1
2
,
2
+ +
+ = + = , ( ) ( ) x K x K
1 0
= ,
( ) ( ) ( ) x I x I x I
dx
d
1 0 0
= = , ( ) ( )dx x xI
x
x I

=
0 1
1
, ( ) ( )dx x xK
x
x K

=
0 1
1
.
Verificarea argumentelor funciilor Bessel se face cu besschk, apelat sub
forma [MSG,n,x,SIZ] = besschk(n,x), n care n MSG se ntoarce un mesaj
referitor la n i x, specificnd dac sunt numere i dac sunt reale, iar n SIZ se
specific dac au aceeai dimensiune, concomitent cu un mesaj dac nu au.
8.7.6. Funciile lui Thomson
Pe lng funciile lui Bessel, de argument pur real sau pur imaginar, ntlnim
i funcii de ordinul zero i de argument x i
2
1
(respectiv
4

i
xe ) sau x i
2
3
(respectiv
4

i
ixe ), a cror valoare este n general complex.
Pentru aceste funcii, cu aplicaii practice deosebite n electrotehnic, se
folosesc notaiile introduse de W. Thomson (lord Kelvin):
|
|

\
|
=
|
|

\
|
= +
4
0
4
0
) ( bei ) ( ber

i i
xe I ixe J x i x ,
|
|

\
|
=
|
|

\
|
= +
4
0
4
3
0
) ( ei ) ( ker

i i
xe K ixe K x ik x .
innd seama de ( ), ) ( ix J i x I
n
n
n

= avem
( )

=
|

\
|
=
|
|

\
|
0
2
2
4
0
2 !
1
p
p
p
i
x
p
i xe I

,
astfel c:

( ) ( )
...
2 ! 4
1
2 ! 2
1
1 Re Re ) ( ber
8
2
4
2
2
1
0
2
3
0
|

\
|
+ |

\
|

|
|

\
|
=
|
|

\
|
=
x x
x i J x i J x ,
( ) ( ) ( )
...
2 ! 5
1
2 ! 3
1
2 ! 1
1
Im Im ) ( bei
10
2
6
2
2
2
2
1
0
2
3
0
|

\
|
+ |

\
|
|

\
|

|
|

\
|
=
|
|

\
|
=
x x x
x i J x i J x

Curbele funciilor ber(x) i bei(x) sunt prezentate n figura 8.5 i sunt
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 190
calculate n Matlab cu instruciunile:
x=[0:0.1:10]; ber=real(besselj(0,i^0.5*x)); bei=imag(besselj(0,i^1.5*x));
plot(x,ber,'-.',x,bei); xlabel('x'); ylabel('Functiile lui Thomson').

Prin definiie, ber(x) i bei(x) se numesc funciile lui Thomson.
Acestea se generalizeaz pentru oarecare prin egalitile:
|
|

\
|
=

4
3
) ( bei ) ( ber


i
xe J x i x ,
|
|

\
|
=

4
3
) ( kei ) ( ker


i
ixe K x i x ,
|
|

\
|
= +

4
3
) 1 (
) ( hei ) ( her

i
xe H x i x .

Fig. 8.5. Funciile lui Thomson ber(x) i bei(x)

Funcii matematice n Matlab 191
8.7.7. Funcia Airy
Pe lng funciile lui Bessel, de argument pur real sau pur imaginar, ntlnim
i funciile Airy, definite astfel:
W = airy(Z) - funcia Airy, Ai(z), a elementelor Z;
W = airy(0,Z) identic cu airy(Z);
W = airy(1,Z) derivate funciei Airy, Ai'(z);
W = airy(2,Z) funcia Airy de spea a doua, Bi(z);
W = airy(3,Z) derivate funciei Airy de spea a doua, Bi'(z).

Dac argumentul Z este o matrice, rezultatul este de acelai tip.
Sub forma [W,IERR] = airy(K,Z), returneaz n IERR i informaii
referitoare la rezultatul calculelor. Astfel:
ierr = 1 argument illegal (Illegal arguments);
ierr = 2 depire spre infinit (Overflow. Return Inf.);
ierr = 3 acuratee inadecvat (Some loss of accuracy in argument
reduction)
ierr = 4 rezultatele sunt inadecvate (Complete loss of accuracy, z too
large);
ierr = 5 nu este convergent (No convergence. Return NaN).
Relaiile dintre funciile Airy i Bessel modificate sunt:
( )

3 / 1
3
1
Ai(z)

= K
z

( ) ( ) ( )
3 / 1 3 / 1
3
Bi(z) I I
z
+ =


unde:
2
3
3
2
z = .
n Matlab, relaiile sunt:
Ai(z) = 1/pi*sqrt(z/3)*K_1/3(zeta)
Bi(z) = sqrt(z/3)*(I_-1/3(zeta)+I_1/3(zeta))
unde zeta = 2/3*z^(3/2).
8.7.8. Funcia eroare
Funcia eroare, erf(x), i complementara funciei eroare, erfc(x), sunt cazuri
speciale ale funciei Gamma incomplete, definite prin relaiile:
) 5 . 0 , (
2
erf(x)
2
0
2
x P dt e
x
t
= =

,
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 192
) erf(x 1
2
erfc(x)
0
2
= =


x
t
dt e


n care ) 5 . 0 , (
2
x P este funcia Gamma incomplet, iar argumentul x trebuie s fie
real i 0 x .
Funcia eroare i complementara acesteia au limitele,
0 erf(0) = , 1 ) erf( = , 1 erfc(0) = , 0 ) erfc( = ,
i respect relaiile de simetrie :
erf(-x) erf(-x) = , erfc(x) 2 erfc(-x) = .

Calculul valorii funciei eroare genaralizate, pentru x i y scalar, vector sau
matrice se face cu relaia:
) erf(x erf(y)
2
erf(x)
2
= =


y
x
t
dt e

.

Inversa funciei eroare, erfinv(y), returneaz valoarea x pentru valori
cunoscute ale argumentului y i se apeleaz cu sintaxa x=erfinv(y). Valorile lui y
trebuie s fie n intervalul [-1 1], iar x rezult n intervalul ( ) + , - .

Funcia eroare, acoperitoare pentru fiecare argument x este:
erf(x) erfcx(x)
2
=
x
e ,
care, pentru x foarte mare, este aproximat cu
x
1 1

.
8.7.9. Funcia integral exponenial
Funcia integral exponenial, expint, pentru fiecare element x>0, este
definit prin:


=
x
t
dt
t
e
expint(x) .
O alt definiie a funciei integraleexponenial este valoarea principal a
integralei Chauchy, notat Ei i definit prin:

=
x t
dt
t
e
Ei(x) .
Relaia dintre cele dou definiii este:
expint(-x+i*0) = -Ei(x) - i*pi, pentru x > 0
Ei(x) = real(-expint(-x)), pentru x > 0.

Funcii matematice n Matlab 193
8.7.10. Polinoamele i funciile Legendre asociate
n coordonate carteziene x, y, z, ecuaia lui Laplace 0 grad div = = u u ,
se scrie,
0






2
2
2
2
2
2
=

z
u
y
u
x
u
,
iar n coordonate sferice, r, , , aceast ecuaie are forma,
0




sin
1


sin
sin
1
2
2
2
2
=
|

\
|

+
|

\
|

r
U
r
r
U U


,
unde:
( ) ( ) cos , sin sin , cos sin , , = r r r u r U
este funcia obinut din ( ) z y x u , , prin schimbarea coordonatelor carteziene n
sferice,
cos z , sin sin y , cos sin = = = r r r x .

Funciile ( ) z y x u , , , omogene n x, y, z, care satisfac ecuaia lui Laplace se
numesc funcii sferice. Gradul de omogenitate al funciei ( ) z y x u , , se numete i
ordinul funciei sferice.
Dac ( ) z y x u , , este o funcie sferic de ordinul n, datorit omogenitii,
avem
( ) ( ) ( ) , cos , sin sin , cos sin , ,
n
n n
F r r r r u r r U = = ,
care, introdus n ecuaia lui Laplace, scris n coordonate sferice i simplificnd cu
n
r , conduce la:
( ) 0 1


sin
1


sin
sin
1
2
2
2
= + +

+ |

\
|

n
n n
F n n
F F


.

Funciile ( ) ,
n
F , care verific ecuaia Laplace de mai sus, se numesc
funcii sferice superficiale de ordinul n, deoarece pe sfera cu centrul n origine i de
raz 1 = r avem:
( ) ( ) , , , 1
n
F U = .
Fiecrei funcii sferice ( ) ( ) , , , , r U z y x u = de ordinul n i corespunde o
funcie sferic superficial ( ) ,
n
F i, reciproc, fiecrei funcii sferice
superficiale ( ) ,
n
F i corespunde o funcie sferic
( ) ( ) ( ) , , , , ,
n
n
F r r U z y x u = =
de acelai ordin n.
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 194
De menionat c schimbarea lui n n 1 = n p , las ecuaia anterioar
neschimbat i prin urmare, dac ( ) ( ) , , ,
n
n
F r r U = este o funcie sferic,
atunci i funcia ( ) ( ) , , ,
1
1
1

=
n
n
F r r U este o funcie sferic.

Polinoamele lui Legendre sau funciile lui Legendre de prima spe sunt
funcii sferice superficiale, care satisfac ecuaia lui Laplace. Acestea sunt
polinoame de gradul n n cos = x , coninnd numai puteri pare sau impare, dup
cum n este par sau impar, iar semnele termenilor si alterneaz:
( ) ( ) ( )
( )
( )
k n
k
n
E
k
k
k n
k
n n
x
k n
k n
C x P P
2
2
0
! 2
1 2 2 5 3 1
1 cos

|

\
|
=


= =

L
,
n care
|
|
|

\
|
2
n
E este partea ntreag a numrului
2
n
.
De remarcat c, pentru real, [ ] 1 , 1 x .
Principalele proprieti ale polinoamelor lui Legendre sunt:
pot fi exprimate prin formula Olinde-Rodrigues,
( ) ( )
n
n n
x
x n
x P 1
d
d
! 2
1
2
n
n
= ,
sau formula lui Schlafli, ca o integral pe o curb oarecare, C, nchis cu x,
un punct interior domeniului mrginit de C,
( )
( )
( )
+

=
C
n
n
n n
x i
x P

d
1
2
1
2
1
1
2
,
satisfac relaia de recuren, care permite determinarea tuturor
polinoamelor, cnd se cunosc dou dintre ele, cu indici diferind printr-o
unitate,
( ) ( ) L 3 , 2 , 1 , 0 1 2 1
1 1
= = + + +
+
n nP xP n P n
n n n
,
pentru [ ] 1 , 1 x iau valori reale n intervalul [ ] 1 , 1 ,
au toate rdcinile reale i distincte, cuprinse n intervalul deschis ( ) 1 1 ,
polinomul lui Legendre ( ) x P
n
este o soluie a ecuaiei difereniale a lui
Legendre,
( ) [ ] ( ) ( ) ( ) 0 1 ' 2 " 1 0 1 ' 1
d
d
2 2
= + = y n n xy y x y n n y x
x
,
polinoamele lui Legendre formeaz un sistem de funcii ortogonale pe
intervalul [ ] 1 , 1 ,
Funcii matematice n Matlab 195
( ) ( )

=
+

n k
n
n k
x x P x P
n k
pentru
1 2
2
pentru 0
d
1
1
,
ceea ce permite s considerm seria Fourier a unei funcii f(x), integrabil
i cu ptratul integrabil pe [ ] 1 , 1 , fa de sistemul de funcii format de
polinoamele Legendre,
( )

0 n
n n
x P a
cu coeficienii Fourier generalizai
( ) ( ) x x P x f
n
a
n n
d
2
1 2
1
1

+
=



De menionat c, polinomul lui Legendre ( ) x P
n
, este o soluie particular a
ecuaiei lui Legendre, ( ) ( ) 0 1 ' 2 " 1
2
= + y n n xy y x .

Soluia general a ecuaiei lui Legendre este
( ) ( ) ( ) ( ) x P C x K
x
x
x P C z x P y
n n n n
+

+
= =
1 1
1
1
ln ,
n care polinoamele ( ) x K
n 1
se determin dezvoltnd funcia
1
1
ln

+
x
x
n serie
de puteri.

Funciile ( ) ( ) ( ) x K
x
x
x P x Q
n n n 1
1
1
ln

+

+
= se numesc funciile lui
Legendre de spea a doua. Aceste funcii verific, evident, ecuaia lui Legendre i
satisfac aceleai relaii de recuren ca polinoamele lui Legendre.

Funciile lui Legendre asociate se construiesc folosind funciile lui
Legendre de prima spe i de spea a doua i sunt :
( ) ( )
( )
m
n
m m
m n
x
x P
x x P
d
d
1
2
2
,
=
,
( ) ( )
( )
m
n
m m
m n
x
x Q
x x Q
d
d
1
2
2
,
=
,
unde m i n iau valorile 0, 1, 2, 3, , iar n m .
Funciile lui Legendre asociate sunt soluii ale ecuaiei difereniale:
( ) ( ) 0
1
1 ' 2 " 1
2
2
2
=

+ + y
x
m
n n y x y x
i pot fi exprimate sintetic sub forma:
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 196
( ) ( )
( )
m
n
m m
m
m n
x
x P
x x P
d
d
1 1 ) (
2
2
,
=
,
n care n este gradul, iar m este ordinul.

Calculul acestor funcii se face n Matlab prin instruciunea
P=legendre(n,x), care permite calculul funciilor Legendre de gradul n i ordinul
m=0, 1, , n, evaluate pentru fiecare element x. De menionat c n trebuie s fie
un scalar ntreg n < 256, iar [ ] 1 , 1 x , adic -1 <= x <= 1.
Dac x este un vector cu lungimea L, atunci polinomul P este o matrice de
dimensiune (n+1)*L. Valoarea P(m+1,i) corespunde funciilor Legendre asociate
de gradul n i ordinul m, evaluate n punctul x(i). n general, se returneaz o
matrice care are numrul de coloane egal cu lungimea vectorului x, iar numrul de
linii egal cu ordinul sau mai mare cu 1 dect gradul. Fiecare linie conine funciile
lui Legendre de gradul n i ordinul corespunznd liniei evaluate, pentru fiecare
valoare x. Prima linie (rnd) a matricei P returnate conine polinoamele lui
Legendre de ordinul m=0.
De exemplu:
legendre(2, 0.0:0.1:0.2) returneaz matricea:

| x = 0 x = 0.1 x = 0.2
------|---------------------------------------------
m = 0 | -0.5000 -0.4850 -0.4400
m = 1 | 0 -0.2985 -0.5879
m = 2 | 3.0000 2.9700 2.8800

setul de instruciuni
X = rand(2,4,5); N = 2;
P = legendre(N,X);
returneaz o matrice de 3*2*4*5 i P(:,1,2,3) este la fel ca i cel dat de
instruciunea legendre(N,X(1,2,3)).

Funcia SP=legendre(n,x,sch) calculeaz funciile Schmidt semi-
normalizate, asociate funciilor Legendre, definite prin relaia:
( )
( )
( )
( )

>
+


=
=
0 pentru
!
!
2 1
0 pentru ) (
) (
,
,
m x P
m n
m n
m x P
x SP
m n
m
n
m n

De exemplu, instruciunea,
P=legendre(2,0:0.1:0.5)
conduce la,
P =
-0.5000 -0.4850 -0.4400 -0.3650 -0.2600 -0.1250
Funcii matematice n Matlab 197
0 -0.2985 -0.5879 -0.8585 -1.0998 -1.2990
3.0000 2.9700 2.8800 2.7300 2.5200 2.2500
iar instruciunea,
P=legendre(2,0:0.1:0.5,'sch')
are ca rezultat,
P =
-0.5000 -0.4850 -0.4400 -0.3650 -0.2600 -0.1250
0 0.1723 0.3394 0.4957 0.6350 0.7500
0.8660 0.8574 0.8314 0.7881 0.7275 0.6495
de unde se observ diferena.

Pentru m=1 i n=1, ecuaia diferenial de gradul doi devine:
( ) 0
1
1
2 ' 2 " 1
2
2
=

+ y
x
y x y x ,
iar soluiile, pentru x=0:0.01:1 sunt calculate cu relaia P1=legendre(2,x), pentru
funciile Legendre asociate i relaia P2=legendre(2,x,'sch'), pentru funciile
Schmidt seminormalizate, asociate funciilor Legendre.
Reprezentarea grafic este redat n figura 8.6.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1.5
-1
-0.5
0
0.5
1
x
y
P1
P2

Fig.8.6. Soluiile ecuaiiei de gradul 2 cu funcii Legendre
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 198
8.7.11. Funcii eliptice Jacobi
Polinoamele lui Jacobi sunt de forma:

( )
( ) ( )
( )( ) ( )
( ) ( ) [ ]
n n
n
n
n n
x b a x
x n
x b a x
b a
x J
+ +


+ + +

=


d
d
2 1
1
) (
L
,
unde , sunt dou numere reale mai mari dect 1.
Polinomul lui Jacobi ) (x J
n
este o soluie a ecuaiei difereniale:
( )( ) ( )( ) ( )( ) [ ] ( ) 0 1 ' 1 1 " = + + + + + + + y n n y a x b x y b x a x
Totodat, polinoamele lui Jacobi, cuprind drept cazuri particulare, alte
polinoame speciale, astfel:
pentru 1 , 1 , 0 , 0 = = = = b a se obin polinoamele lui Legendre sub
forma Olinde-Rodrigues;
dac b , 0 = = , se obine polinomul lui Laguere, pn la o constant ;
pentru
2
,
2
b
b a = = = , se obin polinoamele lui Hermite ;
pentru
2
1
, 1 , 1 = = = = b a , se obin polinoamele lui Cebev.

n Matlab, funcia [Sn,Cn,Dn] = ellipj(U,M, TOL), returneaz valorile
funciilor eliptice SN, CN i DN, evaluate pentru fiecare element al argumentului U
i parametrului M, cu tolerana TOL. Vectorii U i M trebuie s aib aceeai
dimensiune sau unul s fie scalar, iar M are limitele 0 <= M <= 1. Tolerana poate
lipsi, fiind considerat implicit ca EPS.

Calculul integralei eliptice complete de spea nti, K, i a doua, E, pentru
fiecare element M, cuprins n intervalul 0 <= M <= 1, se face cu instruciunea
[K,E] = ellipke(M, TOL), n care tolerana Tol poate s lipseasc, fiind atunci EPS.

8.7.12. Funcia de repartiie Laplace
Funcia densitii de probabilitate a repartiiei normale este definit de relaia
( )
2
2
2
1
z
e z f


care, n Matlab, se calculeaz cu secvena,
f=1./sqrt(2*pi)*exp(-z.^2/2),
unde z poate fi vector sau scalar.
Dac [ ] 10 10 z , ( ) z f reprezint densitatea de probabilitate cu repartiie
normal normat din figura 8.7, pentru care s-a utilizat secvena de instruciuni:
Funcii matematice n Matlab 199
z=-10:0.1:10; f=1./sqrt(2*pi)*exp(-z.^2/2);
plot(z,f); grid on; xlabel('z'); ylabel('f(z)').
Calculul funciei de repartiie Laplace,
( ) ( )


= = dt
t
e dz z f z f
2
2
1


folosete secvena,
F=trapz(z,1./(sqrt(2*pi))*exp(-z.^2/2))
care, pentru valorile anterioare, rezult F=1. Limita de integrare, , se poate lua
un numr ntre -5 i -10, fr ca, prin aceasta, s se induc erori semnificative.

Fig. 8.7. Densitatea de probabilitate cu repartiie normal normat
8.8. Transformri de coordonate
Dac n unele probleme de teoria cmpurilor (termice, electrice, magnetice,
barice) se utilizeaz un sistem de coordonate, nu ntotdeauna sistemul cartezian
este cel mai potrivit. De aceea, este necesar s studiem problema reprezentrii
funciilor scalare i a funciilor vectoriale, precum i a unor mrimi derivate, n
coordonate oarecare. Mai mult, este necesar s putem transforma un sistem de
coordonate n alt sistem de coordonate.
Fie x, y, z coordonatele carteziene ortogonale ale unui punct arbitrar P (vezi
figura 8.8).
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 200
Poziia unui punct ( )
0 0 0 0
, , z y x P poate fi obinut ca intersecia planelor
0
x x = ,
0
y y = ,
0
z z = . Aceste plane se intersecteaz, dou cte dou, dup
dreptele
0 0
, z z y y = = ;
0 0
, x x z z = = ;
0 0
, y y x x = = ,
paralele cu axele de coordonate. Fiecrui punct
0
P din spaiu, i este ataat un
triedru k j i
r r r
, , , care este acelai pentru toate punctele din spaiu.

Fig. 8.8.

n coordonate cilindrice, poziia unui punct P este caracterizat prin
z , , , unde este distana de la origine la proiecia ' P a punctului P, pe planul
xOy , este unghiul format de ' OP cu axa Ox , iar z cota lui P fa de planul
xOy .
Punctul ( )
0 0 0 0
, , z P este intersecia urmtoarelor suprafee: cilindru
0
= , semiplanul
0
= i planul
0
z z = (vezi figura 8.9).
Interseciile acestor suprafee, luate cte dou, sunt: semidreapta

C , pe care
variaz numai , cercul

C , pe care variaz numai i dreapta


z
C , pe care
variaz numai z.
Notm cu
z
u u u
r r r
, ,

vectorii unitari tangeni la aceste curbe, n
0
P i dirijai
n sensul cresctor al variabilelor respective. Aceti vectori sunt determinai n
toate punctele din spaiu, cu excepia axei Oz , n care

u u
r r
, au direcii
Funcii matematice n Matlab 201
nedeterminate.
Fiind ortogonali, doi cte doi,
z
u u u
r r r
, ,

formeaz un triedru nedegenerat,
de referin pentru orice punct, variabil cu punctul n care este considerat.

Fig. 8.9.
ntre coordonatele cilindrice i coordonatele carteziene avem relaiile:

=
=
=
z z
y
x


sin
cos

cu 2 0 , 0 < .
Funcia Matlab care realizeaz aceast transformare, din coordonate
cilindrice n coordonate carteziene, este pol2cart. Aceasta poate fi apelat prin:
[X,Y,Z] = pol2cart(TH,R,Z)
n care TH este unghiul , R este raza , iar Z este nlimea z, iar X, Y, Z sunt
coordonatele carteziene. Matricele TH, R i Z trebuie s aib aceeai dimensiune
(sau oricare s fie scalar);TH este dat n radiani.
De exemplu, dac coordonatele punctului sunt TH=pi/6, R=2 i Z=3, atunci:
[X,Y,Z] = pol2cart(TH,R,Z),
conduce la X = 1.7321, Y = 1.0000, Z = 3.

Pentru plan, transformarea coordonatelor polare n carteziene se face cu
instruciunea [X,Y] = pol2cart(TH,R), din care lipsete Z. Coordonata Z nu sufer
nici o transformare la trecerea dintr-un sistem de coordonate n altul.

Transformarea invers, din coordonate carteziene n coordonate polare se
face dup relaiile:
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 202

=
|

\
|
=
+ =
z z
x
y
y x
arctan
2 2


cu < |

\
|

x
y
arctan - , 0 .
Funcia Matlab care realizeaz aceast transformare este cart2pol, care
poate fi apelat prin instruciunea:
[TH,R,Z] = cart2pol(X,Y,Z)
sau
[TH,R] = cart2pol(X,Y),
n care X, Y, Z sunt coordonatele carteziene, iar TH este unghiul , R este raza
, Z este nlimea z. Matricele X, Y i Z trebuie s aib aceeai dimensiune (sau
oricare s fie scalar), iar TH este returnat n radiani.
De exemplu, dac X = 1.7321, Y = 1.0000, Z = 3, atunci prin
instruciunea [TH,R,Z] = cart2pol(X,Y,Z), rezult TH = 0.5236 =pi/6, R = 2.0000,
Z = 3.
n coordonate sferice, un punct P, este dat prin: OP r = , unghiul format
de OP cu axa Oz i unghiul , pe care l face proiecia ' OP a lui OP , pe planul
xOy , cu axa Ox (vezi figura 8.10).
n acest caz, curbele pe care variaz numai unul dintre parametri sunt
urmtoarele: semidreapta
r
C ce pornete din origine, semicercul meridian

C i
cercul

C .
Sensul cresctor al parametrilor pe aceste curbe va fi indicat, respectiv, prin
vectorii unitari

u u u
r
r r r
, , tangeni curbelor n punctul considerat.
Aceti vectori sunt determinai n toate punctele care nu aparin axei Oz i
sunt ortogonali, doi cte doi.
Triedrul

u u u
r
r r r
, , poate fi considerat triedru de referin i depinde de
punct.
ntre coordonatele sferice i coordonatele carteziene avem relaiile:

=
=
=



cos
sin sin
cos sin
r z
r y
r x

cu 2 0 , 0 , 0 < < r .
Funcia Matlab care realizeaz aceast transformare, din coordonate sferice
Funcii matematice n Matlab 203
n coordonate carteziene este sph2cart, apelat cu,
[X,Y,Z] = sph2cart(TH,PHI,R),
n care TH este unghiul , respectiv azimutul, PSI este unghiul , respectiv
elevaia, R este raza r , iar X, Y, Z sunt coordonatele carteziene. Matricele TH,
PHI i R trebuie s aib aceeai dimensiune (sau oricare s fie scalar), iar TH i PSI
sunt dai n radiani.

Fig. 8.10.

De exemplu, dac TH=pi/6, PHI= pi/4, R=2, atunci prin [X,Y,Z] =
sph2cart(TH,PHI,R), se obine X= 1.2247, Y = 0.7071, Z = 1.4142.

Transformarea invers, din coordonate carteziene n coordonate sferice, se
realizeaz cu relaiile:

|
|

\
|
+
=
|

\
|
=
+ + =
2 2
2 2 2
arctan
arctan
y x
z
x
y
z y x r


cu 2 0 , 0 , 0 < < r .

SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 204
Funcia Matlab care realizeaz transformarea coordonatelor carteziene, n
coordonate sferice, este cart2sph, apelat sub forma,
[TH,PHI,R] = cart2sph(X,Y,Z),
n care X, Y, Z sunt coordonatele carteziene, TH este unghiul , respectiv
azimutul, PSI este unghiul , respectiv elevaia, R este raza r . Matricele X, Y, Z
trebuie s aib aceeai dimensiune (sau oricare s fie scalar), iar TH i PSI sunt
returnai n radiani.
De exemplu, dac X= 1.2247, Y = 0.7071, Z = 1.4142, atunci prin
[TH,PHI,R] = cart2sph(X,Y,Z) se obine TH = 0.5236 = pi/6, PHI = 0.7854 = pi/4,
R = 2.0000.

8.9. Calculul produsului unor vectori
Produsul scalar al vectorilor a i b este numrul obinut nmulind produsul
modulelor lor cu cosinusul unghiului format de cei doi vectori (vezi figura 8.11),
cos = b a b a .
Cel mai tipic exemplu de produs scalar a doi vectori este lucrul mecanic
produs de o for constant b F = , cnd punctul su de aplicaie se deplaseaz de
la O la A. Dac se descompune F dup direcia OA i perpendiculara pe aceast
direcie, componenta normal d un lucru mecanic nul. ntreg lucrul mecanic al
forei F este dat de componenta dup direcia OA, component ce are expresia,
cos cos = b F . Lucrul mecanic va fi produsul dintre aceast component i
deplasarea a=OA. Dac
2

< , lucrul mecanic este activ i se exprim printr-un


numr strict pozitiv, iar dac
2

> , lucrul mecanic este rezistent i se exprim


printr-un numr negativ.
Principalele proprieti ale produsului scalar sunt:
a b b a = - este comutativ;
( ) ( ) b a b a = , n care este un scalar oarecare;
( ) c b c a c b a + = + - este distributiv fa de adunare;
0
2
= a a a , egalitatea avnd loc numai dac a=0;
b a b a - modulul unui produs scalar este mai mic sau egal cu produsul
modulelor;
dac produsul scalar a doi vectori este nul, atunci vectorii nenuli sunt
perpendiculari.

Considerm vectorii a i b , figura 8.11, exprimai ntr-un sistem de
Funcii matematice n Matlab 205
coordonate carteziene, avnd ca baz vectorii i , j , k , unitari i ortogonali, adic:
0 , 1 = = = = = = i k k j j i k k j j i i .

Fig. 8.11.
innd seama de cele de mai sus, vectorii a i b vor avea expresiile:
,
3 2 1 3 2 1
k b j b i b b k a j a i a a + + = + + = .
nmulind scalar aceste sume i innd seama de cele anterioare, se obine:

3 3 2 2 1 1
b a b a b a b a + + = .
Pentru a b = , avem :

2
3
2
2
2
1
2
3
2
2
2
1
2
a a a a a a a a a a + + = + + = = .
Expresia care d unghiul a doi vectori este:
2
3
2
2
2
1
2
3
2
2
2
1
3 3 2 2 1 1
cos
b b b a a a
b a b a b a
+ + + +
+ +
=

Calculul produsului scalar a doi vectori A i B, care trebuie s aib aceeai
lungime, se face cu instruciunea C = dot(A,B,DIM) sau C = dot(A,B), n care
lipsete dimensiunea DIM. Dac DIM=size(A), n vectorul C se ntoarce produsul
element cu element dintre A i B; dac DIM =1, n vectorul C se ntoarce suma
produsului element cu element de pe fiecare coloan, iar dac DIM =2, se ntorce
suma produsului element cu element de pe fiecare linie.
Dac A i B sunt vectori coloan, atunci dot(A,B) este acelai lucru ca i
sum(A.*B).
De exemplu, dac:
A = [ 1 2 3 B = [ 7 8 9
4 5 6] 10 11 12 ]
atunci, C=dot(A,B,3), este:

=
12 * 6 11 * 5 10 * 4
9 * 3 8 * 2 7 * 1
C
72 55 40
27 16 7
C
C=dot(A,B,1) este,
[ ] [ ] 72 27 55 16 40 7 C 99 71 47 C + + + = = ,
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE 206
iar C=dot(A,B,2) este:

+ +
+ +
=

=
72 55 40
27 16 7
C
167
50
C .
Dac A este de dimensiunea 1 x N, iar B de dimensiunea N x 1, atunci
produsul scalar poate fi calculat i prin relaia sum(A.*B) sau sum(A.*B).
Considernd vectorii,
2 2 1 , 0 4 3 k j i b k j i a + = + = ,
atunci produsul scalar este
ab=dot(a,b)=sum(a.*b)=-5,
iar unghiul dintre aceti vectori este,
alfa=acos(ab/(norm(a)*norm(b)))*180/pi = 109.4712 grade
i n care,
norm(a)= sqrt(sum(a.^2)); norm(b)= sqrt(sum(b.^2)).

Considernd vectorii a i b ntr-un sistem cartezian, avnd expresiile
anterioare, produsul vectorial al acestora este un vector c , perpendicular pe planul
format de cei doi vectori, avnd expresia:
( ) ( ) ( ) k b a b a j b a b a i b a b a
b b b
a a a
k j i
b a c + + = = =
1 2 3 1 3 1 1 3 2 3 3 2
3 2 1
3 2 1
.
Se observ c acest determinant se dezvolt ntotdeauna dup prima linie i
nu are proprietile determinanilor obinuii.
n Matlab, produsul vectorial este dat de funcia cross(a,b).
Sensul vectorului c este determinat de sensul trigonometric de aducere a
vectorului a spre vectorul b , sau, n general, de parcurgere a curbei nchise
generat de cei doi vectori.
Modulul produsului vectorial este egal cu aria paralelogramului determinat
de cei doi vectori, (vezi i figura 8.12), sau n general cu aria suprafeei delimitate:
sin = = b a b a c
Utilitatea produsului vectorial rezid n aceea c determin debitul de fluid
ce trece printr-o suprafa, delimitat de vectorii a i b , n unitatea de timp.
Produsul vectorial are urmtoarele proprieti:
a b b a = - este anticomutativ;
( ) ( ) b a b a = , n care este un scalar oarecare;
( ) c b c a c b a + = + - este distributiv fa de adunare;
produsul vectorial a doi vectori colineari este nul, deoarece 0 sin = ;
Funcii matematice n Matlab 207
b a b a - modulul unui produs scalar este mai mic sau egal cu
produsul modulelor.

Fig. 8.12.

Produsul ncruciat, dintre vectorii A i B, se calculeaz cu instruciunea
C=cross(A,B), dar vectorii A i B trebuie s aib cel puin 3 elemente, n direcia
produsului ncruciat.

Dac A=[1 2 3; 4 5 6; 7 8 9], B=[10 11 12; 13 14 15; 16 17 18], atunci
C=cross(A,B) conduce la C= [-27 -27 -27; 54 54 54; -27 -27 -27].

Considernd vectorii,
2 1 1 , 1 3 5 k j i b k j i a = = ,
atunci produsul vectorial este
c=cross(a,b)=[ 5 11 -8],
iar unghiul dintre aceti vectori este
alfa=asin(c/(norm(a)*norm(b)))*180/pi = [20.1838 49.3825 -33.5079] grade.