Functii Mate Mat Ice in Matlab
-
Upload
mirela-mimi -
Category
Documents
-
view
248 -
download
0
Transcript of Functii Mate Mat Ice in Matlab
-
8/6/2019 Functii Mate Mat Ice in Matlab
1/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 asuprafiecrui element.
8.1. Funcii trigonometrice
Principalelefuncii 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/2pi/2+pi/6 pi/2+pi/4 pi/2+pi/3 pipi+pi/6 pi+pi/4 pi+pi/3 pi+pi/23*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.57082.0944 2.3562 2.6180 3.14163.6652 3.9270 4.1888 4.71245.2360 5.4978 5.7596 6.2832],
atunci pentru: sin(x) se obine,
ans =0.5000 0.7071 0.8660 1.00000.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
-
8/6/2019 Functii Mate Mat Ice in Matlab
2/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE170
-0.5000 -0.7071 -0.8660 -1.0000-0.8660 -0.7071 -0.5000 -0.00000.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 ob
ine,
ans =2.0000 1.4142 1.1547, csc(y) se obine,
ans =1.1547 1.4142 2.0000.
Principalelefuncii 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 xi y,
cu condiia ca . -pi
-
8/6/2019 Functii Mate Mat Ice in Matlab
3/39
Funcii matematice n Matlab 171
8.2. Funcii hiperbolice
Principalelefuncii 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.
Principalelefuncii 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,
-
8/6/2019 Functii Mate Mat Ice in Matlab
4/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE172
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 calculsunt:
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 faceprin 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 funciaputere 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 (2x), se poate face prin funciapow2(x). Dac x este o matrice, atunci rezultatul va fi o matrice de aceleaidimensiuni, funcia acionnd element cu element. Pentru x=3.1, pow2(x) este
8.5742. Calculul unui numr de forma y=m*2n, se realizeaz printr-o instruciunede forma y=pow2(m,n). Pentru m=20.1 i n=3.5, cu comanda y=pow2(m,n) seobine 161.2.
Pentru calculul exponenialei ex (unde e=2.71828182845), se utilizeazfuncia exp(x), unde x este argumentul. Dac x=[1 2 2 1], atunci exp(x) conducela:
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: ( ) ( )( )ysiniycosee xz += . 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), suntdisponibile funciile log, log2i 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],
-
8/6/2019 Functii Mate Mat Ice in Matlab
5/39
-
8/6/2019 Functii Mate Mat Ice in Matlab
6/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE174
iyxz += , respectiv unghiului, n radiani, fcut n planul complex (x i y), serealizeaz prin funcia angle(z), care este echivalent cu atan(y/x). n general,argumentul este determinat, n afara unui multiplu de 2 , prin
( ) ( )r
ysin,
r
xcos == . Cu cele de mai sus, forma trigonometric a numrului
complex este: ( ) ( )( ) sincosrz i+= . Pentru z=2+3*i, prin angle(z) se obine0.9828, acelai rezultat ca i prin atan(3/2).
Partea real x, a unui numr complex iyxz += , se extrage prin funcia
real(z), iar partea imaginar prin funcia imag(z). Pentru z=2+3*i, prin real(z) seobine valoarea 2, iar prin imag(z) se obine 3. Calculul prii reale i imaginare anumerelor complexe, exprimate n form polar, se poate face i cu funciaunwrap.
Pentru un numr complex iyxz += , conjugatul su este iyxz = ipoate 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 elementelenumere reale (respectiv dac partea imaginar a fiecrui element este 0) serealizeaz prin funcia isreal(X), care rspunde prin 1, dac toate elementele suntreale i prin 0, altfel. Pentru X=[2 i 5+2*i 7] prin isreal(X) se obine 0, iar pentruXX=[2 -1 7], cu isreal(XX) se obine 1.
Sortarea unor numere complexe conjugate perechi (sau reale parteaconjugat 0), n ordinea cresctoare a prii reale, se realizeaz prin funciacplxpair. Dac X=[8 1+2*i 4 1-2*i 2 3-2*i 3+2*i], atunci funciacplxpair(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 sintaxanume_funcie(argument), unde nume_funcie estenumele uneia dintre funciile de mai sus (fix, floor, ceil, round), iar argumentpoate fi un scalar, un vector sau o matrice, ale crui elemente se doresc a firotunjite. Atunci cnd elementele din argument sunt numere complexe, func iile demai sus opereaz independent asupra fiecrei pri (real sau imaginar). Dacconsiderm vectorul, V = [-0.25 -7.2 2.4-2.6i 0.499 0.501 2.71+3.49i
-
8/6/2019 Functii Mate Mat Ice in Matlab
7/39
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 utilizeazfuncia 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 toleranacare se accept ntre numrul x dat i numrul y (aproximat), astfel nct
tolxy , avnd valoarea implicit, tol=10-6; N, D sunt numrtorul, respectivnumitorul fraciei, care aproximeaz pe x cu tolerantol,astfel nct abs(N./D - X)
-
8/6/2019 Functii Mate Mat Ice in Matlab
8/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE176
ans =1/4 27/20 -691/200 841/625.
Funcia mod(x,y) calculeaz modulus (restul cu semn dup mpirea dintrex 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) esteNaN. 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], cuz=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 luix. 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] iY1=3, atunci rem(X1,Y1) este [2.5 0 -1], iar rem(Y1,X1) este [0.5 3 3], pecnd 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: ( )
=
0x1-
0x0
0x1,
xsign , . 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 calculaicu funia factor(N). Dac N=33, atunci factor(N), gsete ca factori primi 3 i 11.
Generarea unei liste cu toate numerele primemai mici sau egalecu unnumr 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
-
8/6/2019 Functii Mate Mat Ice in Matlab
9/39
Funcii matematice n Matlab 177
obine rspunsul 1 atunci cnd este prim i 0, altfel. De exemplu, pentruisprime(31) se obine 1, iar pentru isprime(33) se obine 0.
Calculul celui mai mare divizor comun G, a dou numere ntregiai b,se obine prin utilizarea funciei G=gcd(a,b). Pentru a=2310 i b=273, funciagcd(a,b) gsete 21, care este cel mai mare divizor comun.
Calculul celui mai mic multiplu comun M, a dou numere ntregiai b,se realizeaz prin utilizarea funciei M=lcm(a,b). Pentru a=2310 i b=273, funcialcm(a,b) se gsete 30030, care este cel mai mic multiplu comun.
Numrul tuturor combinaiilor a N elemente, luate cte K (K
-
8/6/2019 Functii Mate Mat Ice in Matlab
10/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE178
prin limita irului( )
( ) ( ) ( )xn nn
nxxxx
x
+++=
!
21lim
1 K.
Principalele proprieti ale funciei Gamma sunt: dac argumentulx este un ntreg, atunci funcia Gamma este identic cu
funcia factorial, respectiv ( )1! += nn ;
pentru oricez finit, este satisfcut relaia de recuren ( ) ( )xxx =+ 1 ;
cunoscnd valoarea pentrux > 1, valorile pentrux < 1 se determin din
ecuaia complementelor ( )
( ) ( ) ( ) ( )xx
x
xx
x
+
=
=
sin1sin
1 ;
pentru2
1=x funcia =
2
1.
n Matlab, funcia Gamma se apeleaz cu sintaxa y=gamma(x), unde x esteargumentul iar y este valoarea calculat. Pentru x=2.5 se obine 1.3293, iar pentrux=0.5 se obine -3.5449.
Pentru x>0 se poate calcula logaritmul natural al funciei Gamma cuinstruciunea gammaln(x), care corespunde lui log(gamma(x)), ns calculul seface printr-o metod direct, fr a calcula gamma(x).
Funcia Gamma incomplet, gammainc(x,a), este definit de relaia,
>= +
xat xaadtte
aaxP
0
1 ,0,)(
1),( ,
i are limitele: ( ) 1),(,0,0 == aPaP .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 seobine 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 nfigura 8.1.Complementul funciei P(x,a), notat cu Q(x,a), este de multe ori confundat
cu funcia gamma incomplet,
>=
== +
x
x
atxaadtte
aa
axaxPaxQ ,0,
)(
1
)(
),(),(1),( 1
i are limitele,
( ) 0),(,1,0 == aPaQ .
-
8/6/2019 Functii Mate Mat Ice in Matlab
11/39
Funcii matematice n Matlab 179
Fig. 8.1. Funcia Gamma incomplet pentru diverse valori ale lui aix
8.7.2. Funciile Beta i Beta incomplet
Funcia Beta, ( )qpB , , sau funcia lui Euler de prima spe, de variabilecomplexepi q, poate fi definit prin integrala,
( ) ( ) =
1
0
11 1, dtttqpB qp ,
convergent pentru ( ) 0> p , ( ) 0> q .
Principalele proprieti ale funciei Beta sunt:
funcia Beta, ( )qpB , , este simetric n raport cupi q, ( ) ( )pqBqpB ,, = ,
obinut prin schimbarea de variabil = t1 , astfel c
( ) ( ) ( ) ===0
1
1
0
),(11, pqBddqpB pqpp ;
-
8/6/2019 Functii Mate Mat Ice in Matlab
12/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE180
ntre funciile lui Euler ( )qpB , i ( )z exist relaia
( )( ) ( )( )qp
qpqpB
+
=, ;
pentru funcia lui Euler de prima spe avem egalitatea,
( )( ) ( )
( )
( ) ( )
( )( )qpqB
qp
qpq
qp
qppqppB ,1
1
1
1
11, +=
++
+=
++
+=+ .
n Matlab, funcia Beta se apeleaz cu sintaxa b=beta(p,q), unde pi 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 faceprintr-o metod direct, fr a calcula beta(p,q). Pentru p=0.5 i q=1.5 se obine0.4516.
Funcia Beta incomplet, betainc(x,p,q), este definit de relaia,
( )( )
( )
( )
( )
++
+++
==
=
+
x
n
n
qpqpinc x
nqpB
npB
qppB
xxdttt
qpBqpxB
0 0
111 1,
1,11
,
11
),(
1),,(
cu,
]1,0[,0, > + xp,qqp i limitele:
( ) 0,,0 =qpB inc , 1),,( = qpBinc
.
Pentru x=[0:0.01:1] i diverse valori ale lui pi q, funcia Beta incomplet seobine 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 nfigura 8.2.
Pentru calculul funciei Beta incomplet se utilizeaz algoritmul din funciabetacore, apelat n betainc(x,a,c) prin instruciunea betacore(x,a,b).
-
8/6/2019 Functii Mate Mat Ice in Matlab
13/39
Funcii matematice n Matlab 181
Fig. 8.2. Funcia Beta incomplet pentru diverse valori ale luip, qix
8.7.3. Funciile lui BesselPrintre funciile speciale, deosebit de importante sunt funciile lui Bessel,deoarece se ntlnesc n diverse probleme din mai toate domeniile fizicii i aletehnicii.
Ecuaia diferenial
( )
( ) 0)()()(0)()()(
222
22
222
=++
=++
xyxdx
xdyx
dx
xydx
xyxxyxxyx
unde este un parametru real sau complex, se numete ecuaia lui Bessel, iarsoluiile 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 limitdin teoria potenialului (electric, termic, chimic).
Soluia general a ecuaiei lui Bessel pentru n ntreg este)()( 21 xJCxJCy +=
unde C1i C2 sunt constante arbitrare, iarJiJ- sunt funciile Bessel de spea ntii ordinul , respectiv .
Funcia Bessel de spea nti i ordinul , pentru o valoarex, din domeniul de
-
8/6/2019 Functii Mate Mat Ice in Matlab
14/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE182
olomorfie (x)-T, unde Teste o semidreapt cu originea nx=0, este dat de relaia
( )( )
=
+
++
=0
2
1!2
1)(p
p
p
pp
x
xJ
.
ntre funciile Bessel cu indici de semne contrare, J i J-, exist relaia
( ) )(1)( xJxJ n = .n Matlab, funcia Bessel de spea nti i ordinul niu () real, pozitiv i
argumentul x se calculeaz cu instruciunea J=besselj(niu,x). Dacx i niu suntvectori de dimensiunile mi respectiv n, atunci J va fi o matricecu dimensiuneamxn, n care elementul din poziia (j,k) este dat de J(j,k)=besselj(niu(j),x(k)), cuj=1,,m
-
8/6/2019 Functii Mate Mat Ice in Matlab
15/39
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 ntiulordin) i spea a doua (numite i de ordinul doi) sunt asemntoare cu funciiletrigonometrice 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 funciilecilindrice, funcii care sunt legate de J i Y n acelai mod cum funciileexponeniale sunt legate de cele trigonometrice, adic
( ) ( ) ( ) ( ),)()(,)()( 21 xiYxJxHxiYxJxH =+= unde i este unitatea imaginar.
Funciile ( ) ( ) )(),( 21 xHxH 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
xH , respectiv de spea a doua,( )
)(2
xH .Dac n ntreg, atunci
( ) ( ) ( )
sin)(1
xJexJixH
i
= , ( )
( ) ( )
sin)(2
xJexJixH
i
= .
Schimbnd pe n , rezult evident,( ) ( ) )()( 11 xHexH i
= ,
( ) ( ) )()( 22 xHexH i
= .
-
8/6/2019 Functii Mate Mat Ice in Matlab
16/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE184
n Matlab, funciile Bessel de ordinul trei sau funciile lui Hankel suntcalculate cu instruciunea H=besselh(niu,k,z), unde niu este ordinul, k este ordinulsau spea (k=1 pentru spea nti i k=2 pentru spea a doua), iar x ordonatelepunctelor unde se evaluaz funcia Hankel.
Valorile funciilor Bessel pentru valori foarte mici ale argumentului (|x|
-
8/6/2019 Functii Mate Mat Ice in Matlab
17/39
Funcii matematice n Matlab 185
( ) ( )( )
( ) ( )xYx
xYx
nnxYxY
dx
dnnnn 122
2 11
1++
== .
Dac ordinul funciei Bessel este un multiplu impar al lui 1/2, atunci funciaBessel de prima spe (ordinul nti) poate fi exprimat, sub form compact, cuajutorul funciilor trigonometrice elementare i al puterilor negative, ntregi ifracionale, ale luix,
( ) ( ) ,cos2
,sin2
2
1
2
1 x
x
xJx
x
xJ
==
( ) ( ) ,cos2
1sin
2,cossin
12
2
3
2
3
+=
=
xx
xxJxx
xxxJ
( ) ntreg,,cos1
sin12
2
1 nxx
Bxx
Ax
xJ nnn
+
=
+ iar
xB
xA nn
1,
1sunt
polinoame nx
1de grad cel mult n.
Liouville a artat c acestea sunt singurele funcii Bessel care pot fiexprimate prin funcii elementare, iar toate celelalte sunt funcii transcendente noi.
Funciile Bessel de prima spei de ordin ntreg pot fi reprezentai printr-ointegral definit. Astfel,
( ) ( ) ===
0
2
0
sin2
0
cos sincos1
2
1
2
1dnxdeedee
ixJ inixinix
nn,
( ) ( ) ( )
===1
02
2
00
01
cos2sincos
2sincos
1du
u
uxdxdxxJ
.
De asemenea, funciile Bessel de prima spe i de ordin ntreg, ( )xJn ,
admit reprezentarea ( ) +
=C
n
x
n de
ixJ
1
12
2
1, unde Ceste un cerc cu centrul n
punctul 0= sau o curb simpl nchis care nconjur acest punct.
-
8/6/2019 Functii Mate Mat Ice in Matlab
18/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE186
8.7.4. Dezvoltarea n serie de funcii Bessel a unei funciioarecare. Ortogonalitatea funiilor Bessel de prima spei zerourile lor.
Se poate demonstra c o funcie oarecare poate fi exprimat sub forma
( ) ( )
=
=1
xJaxf n , cu 10 x , adic poate fi exprimat cu ajutorul unui
numr mare de funcii Bessel de ordinul n. n aceast expresie ,......,, 21 sunt
rdcinile funciei ( )nJ ordonate dup mrime (n>-1), n fiind numr real.
Dacn este real n>-1, toate zerourile funciei ( )xJn sunt reale, ntruct seriacorespunztoare are toi coeficienii reali. Funcia ( ) 0=xJn , cu n real, are oinfinitate de rdcini reale.
Valorile coeficienilor le obinem n modul obinuit, nmulind ambiimembrii ai egalitii cu o asemenea funcie, nct n membrul drept al egalitii,integrnd n domeniul 10 x , valoarea numai a unei singure integrale s rezultediferit de zero. n acest fel, poate fi determinat coeficientul corespunnztortermenului respectiv.
Funciile ( ) ( ) ( ) 10,...,...,, 21 xxJxxJxxJx nnn , formeaz
o mulime de funcii ortogonale n domeniul 10 x , adic,
( ) ( ) ( ) ( ) kidxxJxJxdxxJxJx kninknin == ,0x1
0
1
0
.
Coeficienii dezvoltrii n serie( ) ( ) ( ) ( ) ......2211 ++++= xJaxJaxJaxf nnnnn
i putem obine prin nmulirea ambilor membrii cu funcia ( )xxJn , integrnd dela 0 la 1 i innd seama de relaia de ortogonalitate,
( ) ( ) kidxxJxJx knin = ,01
0
, astfel c termenii din membrul drept vor fi nuli,
cu excepia unuia singur.Prin urmare, coeficientul al -lea al dezvoltrii n serie este:
( )( )dxxJxxf
Ja n
n
=
1
02 )(2
.
8.7.5. Funciile Bessel modificate
n practic, nu obinem direct formele canonice ale ecuaiilor Laplace ncoordonate cilindrice,
-
8/6/2019 Functii Mate Mat Ice in Matlab
19/39
Funcii matematice n Matlab 187
( ) ( ) 0)(0)()()(
0)(1)(1)(
22222
22
2
2
2
2
=+
=++
=
++
xynxdx
dx
dx
dxxynx
dx
xdyx
dx
xydx
xyx
n
dx
xdy
xdx
xyd
ci, n general, trebuie s rezolvm ecuaii difereniale de forma:
0)()(1)(
2
2
2
2
=
++ xy
x
nk
dx
xdy
xdx
xyd,
care, cu schimbarea de variabil kxz = ,se reduce la forma canonic.Soluia general a ecuaiei anterioare se poate scrie sub forma
)()( 21 kxJCkxJCy nn += sau )()( 21 kxYCkxJCy nn += , care, pentru nix ,iauvalori complexe.
Pentru cazul paricular 12 =k , ecuaia anterioar devine
0)(1)(1)(
2
2
2
2
=
++ xy
x
n
dx
xdy
xdx
xyd,
avnd soluia general de forma,
)()( 21 xKCxICy nn += ,
unde )(xIn este funcia Bessel modificat de spea nti, iar )(xKn este funciaBessel modificat de spea a doua.Aceste funcii modificate sunt echivalentele funciilor Bessel )(xJn i
)(xYn , care difer printr-un factor constant i sunt date de expresiile,
( ) ( ) ( ),)( ixJiixJixI nn
n
n
n =
( ) ( )[ ] ( ) ( )[ ]xIxIn
ixiYixJixKnnnn
n
n =+= +
sin22)( 1 ,
fiind denumite, din aceast cauzi 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.
Pentrux 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 ordinuln=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,'--').
-
8/6/2019 Functii Mate Mat Ice in Matlab
20/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE188
Fig. 8.4. Funciile Bessel modificate
Dac comportarea funciilor Bessel de spea nti i a doua seamn cu aceeaa funciilor care descriu micarea oscilatorie amortizat, (ceea ce a reieit i dinfaptul c pentru valori foarte mari ale argumentului ele pot fi nlocuite cu funciisinus, respectiv cosinus de amplitudine descresctoare), comportarea funciilorBessel modificate se aseamn cu aceea a funciilor exponeniale.
Valorile funciilor Bessel modificate, pentru valori foarte mici aleargumentului (|x|
-
8/6/2019 Functii Mate Mat Ice in Matlab
21/39
Funcii matematice n Matlab 189
( ) xxI
xI
2
11
)(
0
1 ,( ) xxK
xK
2
11
)(
0
1 + , |x|1.
Pentru funciile Bessel modificate, sunt valabile urmtoarele formule derecuren:
( ) ( ) ( ) ( ) ( ) ( )xKxKx
nxKxJxI
x
nxI nnnnnn 1111
2,
2++ +=+= , ( ) ( )xKxK 10 = ,
( ) ( ) ( )xIxIxIdx
d100 == , ( ) ( )dxxxI
xxI = 01
1, ( ) ( )dxxxK
xxK = 01
1.
Verificarea argumentelor funciilor Bessel se face cu besschk, apelat subforma [MSG,n,x,SIZ] = besschk(n,x), n care n MSG se ntoarce un mesajreferitor la ni x, specificnd dac sunt numere i dac sunt reale, iar n SIZ sespecific 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 xi 21
(respectiv 4
i
xe ) sau xi 23
(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):
=
=+ 40
40)(bei)(ber
ii
xeIixeJxix ,
=
=+ 40
4
3
0)(ei)(ker
ii
xeKixeKxikx .
innd seama de ( ),)( ixJixI nn
n
= avem( )
=
=
0
2
24
0 2!
1
p
p
pi x
pixeI
,
astfel c:
( ) ( )...
2!41
2!211ReRe)(ber
8
2
4
22
1
02
3
0
+
=
= xxxiJxiJx ,
( ) ( ) ( )...
2!5
1
2!3
1
2!1
1ImIm)(bei
10
2
6
2
2
22
1
02
3
0
+
=
=
xxxxiJxiJx
Curbele funciilor ber(x) i bei(x) sunt prezentate n figura 8.5 i sunt
-
8/6/2019 Functii Mate Mat Ice in Matlab
22/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE190
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
xeJxix ,
=
4
3
)(kei)(ker
i
ixeKxix ,
=+
4
3)1()(hei)(her
i
xeHxix .
Fig. 8.5. Funciile lui Thomson ber(x) i bei(x)
-
8/6/2019 Functii Mate Mat Ice in Matlab
23/39
Funcii matematice n Matlab 191
8.7.7. Funcia Airy
Pe lng funciile lui Bessel, de argument pur real sau pur imaginar, ntlnimi 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 informaiireferitoare 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/131Ai(z) = K
z
( ) ( )( ) 3/13/13Bi(z) II
z+=
unde: 23
3
2z= .
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 cazurispeciale ale funciei Gamma incomplete, definite prin relaiile:
)5.0,(2
erf(x) 2
0
2
xPdte
x
t ==
,
-
8/6/2019 Functii Mate Mat Ice in Matlab
24/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE192
)erf(x12
erfc(x)0
2
==
x
tdte
n care )5.0,( 2xP este funcia Gamma incomplet, iar argumentul x trebuie s fie
real i 0x .Funcia eroare i complementara acesteia au limitele,
0erf(0) = , 1)erf( = , 1erfc(0) = , 0)erfc( = ,i respect relaiile de simetrie :
erf(-x)erf(-x) = , erfc(x)2erfc(-x) = .
Calculul valorii funciei eroare genaralizate, pentru x i y scalar, vector saumatrice se face cu relaia:
)erf(xerf(y)2
erf(x)2
==
y
x
t dte
.
Inversa funciei eroare, erfinv(y), returneaz valoarea x pentru valoricunoscute ale argumentului y i se apeleaz cu sintaxa x=erfinv(y). Valorile lui ytrebuie s fie n intervalul [-1 1], iar x rezult n intervalul ( )+ ,- .
Funcia eroare, acoperitoare pentru fiecare argument x este:
erf(x)erfcx(x)2
= xe ,
care, pentru x foarte mare, este aproximat cux11
.
8.7.9. Funcia integral exponenial
Funcia integral exponenial, expint, pentru fiecare element x>0, estedefinit prin:
=x
t
dtt
eexpint(x) .
O alt definiie a funciei integraleexponenial este valoarea principal aintegralei Chauchy, notat Ei i definit prin:
=x t
dtt
eEi(x) .
Relaia dintre cele dou definiii este:expint(-x+i*0) = -Ei(x) - i*pi, pentru x > 0Ei(x) = real(-expint(-x)), pentru x > 0.
-
8/6/2019 Functii Mate Mat Ice in Matlab
25/39
Funcii matematice n Matlab 193
8.7.10. Polinoamele i funciile Legendre asociate
n coordonate carteziene x, y, z, ecuaia lui Laplace 0graddiv == uu ,se scrie,
0 2
2
2
2
2
2
=
+
+
z
u
y
u
x
u,
iar n coordonate sferice, r, , , aceast ecuaie are forma,
0sin
1
sin
sin
1 22
2
2=
+
+
r
Ur
r
UU
,
unde:( ) ( ) cos,sinsin,cossin,, = rrrurU
este funcia obinut din ( )zyxu ,, prin schimbarea coordonatelor carteziene nsferice,
cosz,sinsiny,cossin === rrrx .
Funciile ( )zyxu ,, , omogene n x, y, z, care satisfac ecuaia lui Laplace se
numesc funcii sferice. Gradul de omogenitate al funciei ( )zyxu ,, se numete iordinul funciei sferice.
Dac ( )zyxu ,, este o funcie sferic de ordinul n, datorit omogenitii,
avem( ) ( ) ( ) ,cos,sinsin,cossin,, n
nnFrrrrurrU == ,
care, introdus n ecuaia lui Laplace, scris n coordonate sferice i simplificnd cunr , conduce la:
( ) 01sin
1
sin
sin
12
2
2=++
+
n
nn FnnFF
.
Funciile ( ),nF , care verific ecuaia Laplace de mai sus, se numescfuncii sferice superficiale de ordinul n, deoarece pe sfera cu centrul n origine i deraz 1=r avem:
( ) ( ) ,,,1 nFU = .Fiecrei funcii sferice ( ) ( ),,,, rUzyxu = de ordinul n i corespunde o
funcie sferic superficial ( ),nF i, reciproc, fiecrei funcii sferice
superficiale ( ),nF i corespunde o funcie sferic
( ) ( ) ( ) ,,,,, nn FrrUzyxu ==
de acelai ordin n.
-
8/6/2019 Functii Mate Mat Ice in Matlab
26/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE194
De menionat c schimbarea lui n n 1= np , las ecuaia anterioar
neschimbati prin urmare, dac ( ) ( ) ,,, nn FrrU = este o funcie sferic,
atunci i funcia ( ) ( ) ,,, 11
1 = n
n FrrU este o funcie sferic.
Polinoamele lui Legendre sau funciile lui Legendre de prima spe suntfuncii sferice superficiale, care satisfac ecuaia lui Laplace. Acestea suntpolinoame de gradul n n cos=x , coninnd numai puteri pare sau impare, dupcum n este par sau impar, iar semnele termenilor si alterneaz:
( ) ( ) ( ) ( )( )
kn
k
nE
k
kkn
knn x
knknCxPP 2
2
0 !21225311cos
=
== L
,
n care
2
nE este partea ntreag a numrului
2
n.
De remarcat c, pentru real, [ ]1,1x .Principalele proprieti ale polinoamelor lui Legendre sunt:
pot fi exprimate prin formula Olinde-Rodrigues,
( ) ( )nnn
xxn
xP 1d
d
!2
1 2n
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
nnxi
xP
d
1
2
1
2
11
2
,
satisfac relaia de recuren, care permite determinarea tuturorpolinoamelor, cnd se cunosc dou dintre ele, cu indici diferind printr-ounitate,( ) ( ) L3,2,1,0121 11 ==+++ + nnPxPnPn nnn ,
pentru [ ]1,1x iau valori reale n intervalul [ ]1,1 ,
au toate rdcinile reale i distincte, cuprinse n intervalul deschis ( )11 ,
polinomul lui Legendre ( )xPn
este o soluie a ecuaiei difereniale a lui
Legendre,
( )[ ] ( ) ( ) ( ) 01'2"101'1d
d 22=+= ynnxyyxynnyx
x,
polinoamele lui Legendre formeaz un sistem de funcii ortogonale peintervalul [ ]1,1 ,
-
8/6/2019 Functii Mate Mat Ice in Matlab
27/39
Funcii matematice n Matlab 195
( ) ( )
=+
=
nk
n
nk
xxPxP nk pentru12
2pentru0
d1
1
,
ceea ce permite s considerm seria Fourier a unei funcii f(x), integrabili cu ptratul integrabil pe [ ]1,1 , fa de sistemul de funcii format de
polinoamele Legendre, ( )
=
0n
nn xPacu coeficienii Fourier generalizai
( ) ( ) xxPxfn
a nn d2
12 1
1
+
=
De menionat c, polinomul lui Legendre ( )xPn , este o soluie particular a
ecuaiei lui Legendre, ( ) ( ) 01'2"12 =+ ynnxyyx .
Soluia general a ecuaiei lui Legendre este
( ) ( ) ( ) ( )xPCxKx
xxPCzxPy nnnn +
+
+== 111
1ln ,
n care polinoamele ( )xKn 1 se determin dezvoltnd funcia 1
1ln
+
x
xn serie
de puteri.
Funciile ( ) ( ) ( )xKx
xxPxQ nnn 11
1ln +
+= se numesc funciile lui
Legendre de spea a doua. Aceste funcii verific, evident, ecuaia lui Legendre isatisfac aceleai relaii de recuren ca polinoamele lui Legendre.
Funciile lui Legendre asociate se construiesc folosind funciile luiLegendre de prima spei de spea a doua i sunt :
( ) ( ) ( )m
n
mm
mnx
xPxxP
d
d1 22, = ,
( ) ( )( )
mn
mm
mnx
xQxxQ d
d1 22, = ,
unde m i n iau valorile 0, 1, 2, 3, , iar nm .Funciile lui Legendre asociate sunt soluii ale ecuaiei difereniale:
( ) ( ) 01
1'2"1 2
22 =
++ y
x
mnnyxyx
i pot fi exprimate sintetic sub forma:
-
8/6/2019 Functii Mate Mat Ice in Matlab
28/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE196
( ) ( ) ( )m
n
mmm
mnx
xPxxP
d
d11)( 22, = ,
n caren este gradul, iarm este ordinul.
Calculul acestor funcii se face n Matlab prin instruciuneaP=legendre(n,x), care permite calculul funciilor Legendre de gradul ni ordinulm=0, 1, , n, evaluate pentru fiecare element x. De menionat cn trebuie s fieun scalar ntreg n < 256, iar [ ]1,1x , adic-1
-
8/6/2019 Functii Mate Mat Ice in Matlab
29/39
Funcii matematice n Matlab 197
0 -0.2985 -0.5879 -0.8585 -1.0998 -1.29903.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.12500 0.1723 0.3394 0.4957 0.6350 0.75000.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:
( ) 01
12'2"1
22 =
+ y
xyxyx ,
iar soluiile, pentru x=0:0.01:1 sunt calculate cu relaia P1=legendre(2,x), pentrufunciile Legendre asociate i relaia P2=legendre(2,x,'sch'), pentru funciileSchmidt seminormalizate, asociate funciilor Legendre.
Reprezentarea grafic este redat nfigura 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
-
8/6/2019 Functii Mate Mat Ice in Matlab
30/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE198
8.7.11. Funcii eliptice Jacobi
Polinoamele lui Jacobi sunt de forma:
( )( ) ( )
( )( ) ( )( ) ( )[ ]nn
n
n
nnxbax
xn
xbax
baxJ
++
+++
=
d
d
21
1)(
L
,
unde , sunt dou numere reale mai mari dect 1.
Polinomul lui Jacobi )(xJn este o soluie a ecuaiei difereniale:
( )( ) ( )( ) ( )( )[ ] ( ) 01'11" =+++++++ ynnyaxbxybxax Totodat, polinoamele lui Jacobi, cuprind drept cazuri particulare, alte
polinoame speciale, astfel: pentru 1,1,0,0 ==== ba se obin polinoamele lui Legendre sub
forma Olinde-Rodrigues; dac b,0 == , se obine polinomul lui Laguere, pn la o constant ;
pentru2
,2b
ba === , se obin polinoamele lui Hermite ;
pentru2
1,1,1 ==== ba , se obin polinoamele lui Cebev.
n Matlab, funcia [Sn,Cn,Dn] = ellipj(U,M, TOL), returneaz valorilefunciilor 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 aceeaidimensiune sau unul s fie scalar, iar M are limitele 0
-
8/6/2019 Functii Mate Mat Ice in Matlab
31/39
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,
( ) ( )
== dttedzzfzf2
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 luaun 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 cartezianeste cel mai potrivit. De aceea, este necesar s studiem problema reprezentriifunciilor scalare i a funciilor vectoriale, precum i a unor mrimi derivate, ncoordonate oarecare. Mai mult, este necesar s putem transforma un sistem decoordonate n alt sistem de coordonate.
Fiex, y, zcoordonatele carteziene ortogonale ale unui punct arbitrar P (vezifigura 8.8).
-
8/6/2019 Functii Mate Mat Ice in Matlab
32/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE200
Poziia unui punct ( )0000 ,, zyxP poate fi obinut ca intersecia planelor
0xx = , 0yy = , 0zz = . Aceste plane se intersecteaz, dou cte dou, dup
dreptele
00 , zzyy == ;
00 , xxzz == ;
00 , yyxx == ,
paralele cu axele de coordonate. Fiecrui punct 0P din spaiu, i este ataat un
triedru kjirrr
,, , care este acelai pentru toate punctele din spaiu.
Fig. 8.8.
n coordonate cilindrice, poziia unui punct P este caracterizat prinz,, , 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 planulxOy .
Punctul ( )0000 ,, zP este intersecia urmtoarelor suprafee: cilindru
0= , semiplanul 0= i planul 0zz = (vezifigura 8.9).
Interseciile acestor suprafee, luate cte dou, sunt: semidreapta
C , pe care
variaz numai , cercul C , pe care variaz numai i dreapta zC , pe care
variaz numaiz.Notm cu zuuu
rrr
,, vectorii unitari tangeni la aceste curbe, n 0P i dirijai
n sensul cresctor al variabilelor respective. Aceti vectori sunt determinai ntoate punctele din spaiu, cu excepia axei Oz , n care uu
rr
, au direcii
-
8/6/2019 Functii Mate Mat Ice in Matlab
33/39
Funcii matematice n Matlab 201
nedeterminate.Fiind ortogonali, doi cte doi, zuuu
rrr
,, 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:
=
=
=
zz
y
x
sin
cos
cu 20,0
-
8/6/2019 Functii Mate Mat Ice in Matlab
34/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE202
=
=
+=
zzx
y
yx
arctan
22
cu
-
8/6/2019 Functii Mate Mat Ice in Matlab
35/39
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 , respectivelevaia, 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 PSIsunt 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, serealizeaz cu relaiile:
+=
=
++=
22
222
arctan
arctan
yx
z
x
y
zyxr
cu 20,0,0
-
8/6/2019 Functii Mate Mat Ice in Matlab
36/39
-
8/6/2019 Functii Mate Mat Ice in Matlab
37/39
Funcii matematice n Matlab 205
coordonate carteziene, avnd ca baz vectorii i , j , k, unitari i ortogonali, adic:
0,1 ====== ikkjjikkjjii .
Fig. 8.11.
innd seama de cele de mai sus, vectorii a i b vor avea expresiile:
, 321321 kbjbibbkajaiaa ++=++= .nmulind scalar aceste sume i innd seama de cele anterioare, se obine:
332211 babababa ++= .
Pentru ab = , avem :2
32
22
12
32
22
12 aaaaaaaaaa ++=++== .
Expresia care d unghiul a doi vectori este:
23
22
21
23
22
21
332211cosbbbaaa
bababa
++++
++=
Calculul produsului scalar a doi vectori A i B, care trebuie s aib aceeailungime, se face cu instruciunea C = dot(A,B,DIM) sau C = dot(A,B), n carelipsete dimensiunea DIM. Dac DIM=size(A), n vectorul C se ntoarce produsulelement cu element dintre A i B; dac DIM =1, n vectorul C se ntoarce sumaprodusului element cu element de pe fiecare coloan, iar dac DIM =2, se ntorcesuma produsului element cu element de pe fiecare linie.
Dac A i B sunt vectori coloan, atunci dot(A,B) este acelai lucru ca isum(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*611*510*4
9*38*27*1C
725540
27167C
C=dot(A,B,1) este,[ ] [ ]72275516407C997147C +++== ,
-
8/6/2019 Functii Mate Mat Ice in Matlab
38/39
SISTEME DE PROGRAMARE PENTRU MODELARE I SIMULARE206
iar C=dot(A,B,2) este:
++
++=
=
725540
27167C
167
50C .
Dac A este de dimensiunea 1 x N, iar B de dimensiunea N x 1, atunciprodusul scalar poate fi calculat i prin relaia sum(A.*B) sau sum(A.*B).
Considernd vectorii,
221,043 kjibkjia +=+= ,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 gradei 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 planulformat de cei doi vectori, avnd expresia:
( ) ( ) ( ) kbabajbabaibaba
bbb
aaa
kji
bac ++=== 123131132332
321
321 .
Se observ c acest determinant se dezvolt ntotdeauna dup prima linie inu 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 nchisegenerat de cei doi vectori.
Modulul produsului vectorial este egal cu aria paralelogramului determinatde cei doi vectori, (vezi ifigura 8.12), sau n general cu aria suprafeei delimitate:
sin== babac 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:
abba = - este anticomutativ;
( ) ( )baba = , n care este un scalar oarecare; ( ) cbcacba +=+ - este distributiv fa de adunare; produsul vectorial a doi vectori colineari este nul, deoarece 0sin = ;
-
8/6/2019 Functii Mate Mat Ice in Matlab
39/39
Funcii matematice n Matlab 207
baba - 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 instruciuneaC=cross(A,B), dar vectorii A i B trebuie s aib cel puin 3 elemente, n direciaprodusului ncruciat.
Dac A=[1 2 3; 4 5 6; 7 8 9], B=[10 11 12; 13 14 15; 16 17 18], atunciC=cross(A,B) conduce la C= [-27 -27 -27; 54 54 54; -27 -27 -27].
Considernd vectorii,
211,135 kjibkjia == ,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.