Documente Academic
Documente Profesional
Documente Cultură
Uc II2 PDF
Uc II2 PDF
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
1
3. fererastra Workspace, ce prezintă atât variabilele curente din memorie cu
numele, valoarea şi tipul acestora (dacă alegem subfereastra Workspace) cât şi
directorul current, împreună cu subdirectoarele şi fişierele acestuia (dacă
alegem subfereastra Current Directory).
Dintre funcţiile utilizate pentru controlul general al Matlab-ului 7.0 menţionăm
help nume funcţie furnizează informaţii “on-line” despre funcţia intitulată
nume funcţie;
who listează variabilele curente din memorie.
Pentru a obţine informaţii “on-line” despre toate funcţiile din Matlab 7.0 şi despre
operatorii utilizaţi de acest program vom accesa:
Help Matlab Help Functions In Alphabetical Order.
Matlab 7.0 utilizează următorii operatori aritmetici între doi scalari:
Nume operator Forma algebrică Forma Matlab 7.0
Adunarea x y x y
Scăderea x y x y
Înmulţirea x y x y
Împărţirea la dreapta x: y x/ y
Împărţirea la stânga y:x x\ y
Ridicarea la putere xy x^ y
Ordinea operaţiilor din Matlab 7.0 este aceeaşi cu cea a operaţiilor aritmetice,
cunoscute din matematica elementară, adica se efectuează întâi operaţiile cuprinse în
paranteze, apoi ridicarea la putere, înmulţirea şi împărţirea, adunarea şi scăderea.
Vom prezenta cateva funcţii din Matlab 7.0 utilizate în calcule matematice
fundamentale.
Funcţia Semnificaţie
abs(x) Determină modulul unui număr real sau complex x
acos(x) Calculează arccos x
asin(x) Calculează arcsin x
base2dec('strn',base) Converteşte nr. strn din baza base în baza 10
[th,rho]=cart2pol(x,y) Transformă coordonatele carteziene (x,y) în coordonate polare
2
(unghiul th este returnat în radiani)
[x,y]=pol2cart( th,rho) Transformă coordonatele polare (th,rho) în coordonate
carteziene (unghiul th este dat în radiani)
[th,phi,r]=cart2sph(x,y,z) Transformă coordonatele carteziene (x,y,z) în coordonate sferice
(unghiurile th şi phi sunt returnate în radiani)
[x,y,z]=sph2cart(th,phi,r) Transformă coordonatele sferice (th,phi,r) în coordonate
carteziene (unghiurile th şi phi sunt date în radiani)
complex(a,b) Construieşte z a ib
conj(z) Determină conjugatul numărului complex z
cos(x) Calculează cos x
cot(x) Calculează cot x
dec2base(d,base) Converteşte numărul d din baza 10 în baza base
dms2deg(d,m,s) Converteşte în grade un unghi dat în grade(degree), minute(m),
secunde(second)
dms2rad(d,m,s) Converteşte în radiani un unghi dat în grade(degree), minute(m),
secunde(second)
exp(x) Calculează e x
log(x) Calculează ln x
log2(x) Calculează log 2 x
pow2(x) Calculează 2 x
rats(d) Aproximează d printr-o fracţie raţională
sin(x) Calculează sin x
sqrt(x) Calculează x
tan(x) Calculează tg x
unitsratio(to, from) Converteşte unităţi de măsură pentru lungimi şi unghiuri
Matlab 7.0 dispune de funcţia unitsratio, pe care nu o au versiunile precedente de
Matlab. Unitsratio recunoaşte următorii identificatori pentru convertirea unităţilor de
lungime: metrul- „m‟, centimetrul- „cm‟, milimetrul- „mm‟, micronul- „micron‟,
kilometrul- „km‟, mila nautică- „nm‟, piciorul- „ft‟, inch- „in‟, yard- „yd‟, mila
internaţională- „mi‟.
3
Unitsratio recunoaşte următorii identificatori pentru convertirea unghiurilor:
gradul- „deg‟, radianul- „rad‟; 1 rad este unghiul pentru care raportul dintre lungimea
arcului şi rază este egal cu 1.
Din punct de vedere al formatului extern de afişare a numerelor pe ecran, Matlab
7.0 pune la dispoziţia utilizatorului funcţia format, a cărei sintaxă este: format(„type‟).
Principalele formate de afişare sunt:
Valoare Rezultat Exemplu
a pentru
type
long 15 cifre pentru double (numere reprezentate în dublă >>format long
precizie) şi 8 cifre pentru single (numere reprezentate >> a=5/6
în simplă precizie) a=
0.83333333333333
>>single(a)
ans=
0.8333333
long e 15 cifre pentru double şi 8 cifre pentru single+exp >> format(„long‟,‟e‟)
>>b=0.32/8799
b=
3.636776906466644e-005
>>single(b)
b=
3.6367768e-005
short 5 cifre >>format short
>> a=32/89
a=
0.3596
short e 5 cifre+exp >> format(„short‟,‟e‟)
>> a=32/89
a=
3.5955e-001
4
Dintre variabilele speciale şi constantele din Matlab 7.0 menţionăm:
ans variabilă creată automat atunci când unei expresii nu i-a fost asignat un nume
realmax cea mai mare valoare pozitivă în virgulă mobilă, care poate fi folosită în calcule,
adică 1.7977e+308
realmin cea mai mică valoare pozitivă în virgulă mobilă, care poate fi folosită în calcule,
adică 2.2251e-308
inf variabilă ce semnifică
pi PI 3.1415926535897....
i sau j variabile folosite pentru introducerea numerelor complexe
nan Variabilă care reprezintă un Not-a-Number .
Aplicaţii
1. Determinaţi numărul complex z cunoscând partea sa reală şi partea imaginară:
Re z 2
Im z 5.
2. Să se aproximeze prin fracţii raţionale numerele: 2 , 3 3, 4 4 , 5 5 , 6 6
>> rats([2^(1/2),3^(1/3),4^(1/4),5^(1/5),6^(1/6)]);
8959
3. Să se calculeze cu 14 zecimale valoarea fracţiei .
3700
4. Să se scrie numărul 6562 din baza 7 în baza 10 .
>> base2dec('6562',7)
ans =
2347
5
ans=
10
7. Determinaţi câte grade are un radian
>>unitsratio(„deg‟,‟rad‟);
9. Calculaţi tg113.43 .
>> tan(dms2rad(113.43,0,0));
10. Determinaţi coordonatele sferice ale punctului P3,4,12 .
>> [th,phi,r] = cart2sph(3,-4,-12);
11. Să se calculeze expresiile următoare:
a. 3 17 5 2 3 17 5 2
4 7 4 7
b.
3 5 3 5
7
c. A log 6 7 log 6 log 2 5 37 e 3
36
d. M x 1 2 x 2 3 x 3 , pentru x 4
e. N 1 z 1 z 2 1 z 3 , pentru z i
1 i 1 i
3 3
f.
1 i 1 i
x 2 3x 1
g. F , pentru x 1
x3 2
h. B log 3 5 x , pentru x 7
1
6
Tema
1. Calculaţi:
a) 1 2 2 4 2 3
3
b) log 1 log 1
3
2
4
c) 7 7 7
d) 1 3 i 3
e) lg cos 320.39
sin x x cos x
b) , pentru x 1.6
e e x 2 sin x
x
1 z z2
c) , pentru z i
1 z z2
3. Verificaţi dacă:
b) 122012006 : 14426 .
7
Laborator 2. Definirea tablourilor si a functiilor (in linia de comanda)
in Matlab 7.0
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
În Matlab 7.0 definirea tablourilor se poate face prin una din următoarele
modalităţi:
1. introducerea listei de elemente componente,
2. generarea lor cu ajutorul unor instrucţiuni şi funcţii,
3. crearea de fişiere cu extensia .m,
4. încărcarea lor din fişiere de date externe.
În cazul primei metode, cea mai utilizată dintre toate, elementele unei linii dintr-un
tablou sunt separate prin spaţii sau virgule iar liniile se separă prin punct-virgulă.
Elementele tabloului sunt cuprinse între paranteze drepte şi pot fi atât numere reale
sau complexe cât şi orice expresie din Matlab 7.0.
Elementele
unui vector x pot fi identificate prin notaţia xi , semnificând componenta a i-a
1
Împărţirea la stânga X 1 * Y X \Y
Observaţie. Produsul a două matrici este posibil dacă şi numai dacă numărul
coloanelor matricei X este egal cu numărul liniilor matricei Y .
Transpunerea unui tablou se realizează folosind operatorul apostrof.
Dintre funcţiile folosite pentru generarea tablourilor menţionăm:
eye(n) Generează o matrice unitate cu n linii şi n coloane
eye(m,n) Generează o matrice unitate cu m linii şi n coloane
ones(n) Generează o matrice de unu-ri cu n linii şi n coloane
ones(m,n) Generează o matrice de unu-ri cu m linii şi n coloane
rand(m,n) Generează o matrice ale cărei elemente sunt numere aleatoare, cu distribuiţie
uniformă în intervalul 0, 1
randn(m,n) Generează o matrice ale cărei elemente sunt numere aleatoare, cu distribuiţie
normală, de medie 0 şi varianţă 1
zeros(n) Generează o matrice nulă cu n linii şi n coloane
zeros(m,n) Generează o matrice nulă cu m linii şi n coloane
Observaţie. Transformarea numerelor r distribuite uniform pe intervalul 0, 1 în
numerele x distribuite uniform pe intervalul a, b se realizează prin intermediul relaţiei
x b a r a .
Vom prezenta câteva funcţii din Matlab 7.0 utilizate în calcule cu tablouri.
Funcţia Semnificaţie
cross(x,y) Calculează produsul vectorial al vectorilor x şi y
2
[y,I]= sort(x) Returnează în vectorul y elementele sortate în ordine
crescătoare ale vectorului x iar în I indicii elementelor sortate
sort(x,’descend’) Sortează în ordine descrescătoare elementele vectorului x
Observaţii. Specific pentru Matlab 7.0 este opţiunea descend a funcţiei sort; pentru
versiunile precedente de Matlab, sortarea poate fi realizată numai în ordine crescătoare,
neeexistând această opţiune.
Ca orice mediu de programare, Matlab 7.0 lucrează fie în modul linie de comandă,
fie cu programe conţinute în fişiere.
O funcţie poate fi definită în Matlab 7.0 atât în modul clasic (întâlnit şi în versiunile
precedente), adică într-un fişier function cât şi în linia de comandă, facilitate care nu
este posibilă la variantele precedente lui Matlab 7.0.
Sintaxa de definiţie a unei funcţii în linia de comandă, în Matlab 7.0 este
nume_funcţie=@(var1,…,varn) expresie_funcţie
Aplicaţii
3
1 7 99 3
4.7 0 0.9 7
4) Se consideră matricea A .
5.7 4 5 78
78 12 7.4 3
Se cere:
a) Transformaţi matricea A într-un vector coloană b ;
>> A=[1 -7 99 3;4.7 0 0.9 -7;5.7 4 5 78;-78 12 -7.4 3];
>> b=A(:);
b) Să se extragă submatricea D de dimensiune 3x2 , ce constă din elementele situate
pe ultimele trei linii şi primele două coloane ale matricei A .
>> D=A(2:4,1:2);
Rezultă că x, a 0 x, a sunt coliniari.
4
>> c=D-A;
Deci: u v 7i 12 j 3k .
Tema
1. Să se genereze:
a) o matrice identitate 7x7 ;
b) o matricea nulă 10x10 ;
c) o matrice aleatoare 10x11 cu elemente distribuite uniform şi normal.
5
3. Se consideră matricea
1 1 0
C 0 2 3 .
4 0 1
Calculaţi: C 3 2C 2 C 14 I 3 .
4. Se consideră matricele:
1 0 9 4 1 0
a 0 , B 1 5 , C 7 0 1 , d 0 2 7 .
2 3 8 1 1 1
Verificaţi care dintre următoarele produse au sens şi în acest caz efectuaţi-le: Ba ,
a2 .
1 3
5. Să se determine indicii elementelor din matricea X a căror valoare
3 3
este mai mare sau egală cu 3 .
1 3 4 32
6. Fie matricea A . Să se extragă din matricea A
5 0.76 23 0
3 4
submatricea B .
0.76 23
a 2i j k , b 3i 2 j k , c j 2k .
6
Laborator 3. Calcul simbolic în Matlab 7.0 cu aplicaţii în Algebră
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
1
solve(eq,var) Rezolvă ecuaţia eq 0 în raport cu variabila var din
expresia eq
solve(eq1,..,eqn,var1,..,varn) Rezolvă sistemul format din ecuaţiile eq1 0,, eqn 0
în raport cu variabilele var 1, , var n
Observaţie. Descompunerea în fracţii simple se obţine astfel:
B x r 1 r 2 r n
k x .
Ax x p1 x p2 x pn
Dacă polul p j este de ordinul m , atunci în descompunere vor apare termeni de
forma
r j r j 1 r j m 1
k x .
x p j x p j 2
x p j m
Variabilele utilizate în calcule simbolice se declară prin comada “scurtă” syms:
syms var1 var2… este notaţia scurtă pentru
var1 = sym('var1');
var2 = sym('var2'); ...
syms var1 var2 ... real este notaţia scurtă pentru
var1 = sym('var1,’real');
var2 = sym('var2',’real'); ...
syms var1 var2 ... positive este notaţia scurtă pentru
var1 = sym('var1,’positive');
var2 = sym('var2',’positive'); ...
Aplicaţii
1) Scrieţi sub o formă simplificată matricea
cos 2 x sin 2 x x 2 x
A .
2
2 sin x cos x e ln x
Pasul 1. Declarăm pe x ca variabilă simbolică
>> syms x
Pasul 2. Scriem matricea A
>> A=[cos(x)^2+sin(x)^2 x^2/x; 2*sin(x)*cos(x) exp(log(x^2))];
2
Pasul 3. Scriem sub formă simplificată matricea A
>>u=simple(A)
u=
[ 1, x]
[ sin(2*x), x^2]
2) Simplificaţi expresia
3n 2 5 n 3n 5 n 1
E .
3n 1 5 n 2 3n 1 5 n
Pasul 1. Declarăm pe n ca variabilă simbolică
>> syms n
Pasul 2. Scriem expresia E
>> E=(3^(n+2)*5^n+3^n*5^(n+1))/(3^(n+1)*5^n+2*3^(n+1)*5^n);
Pasul 3. Simplificăm expresia E
>> simplify(E)
ans =
14/9
3) Calculaţi determinantul, transpusa şi inversa simbolică pentru următoarea matrice:
cos x sin x
A .
sin x cos x
Pasul 1. Declarăm pe x ca variabilă simbolică
>> syms x
Pasul 2. Scriem matricea A
>> A=[cos(x) -sin(x);sin(x) cos(x)];
Pasul 3. Calculăm determinantul simbolic al matricei A
>> det(A)
ans =
cos(x)^2+sin(x)^2
Pentru simplificarea rezultatului vom folosi
>> simplify(det(A))
ans =
1
3
Pasul 4. Determinăm transpusa simbolică a matricei A
>> transpose(A)
ans =
[ cos(x), sin(x)]
[ -sin(x), cos(x)]
Pasul 5. Determinăm inversa simbolică a matricei A
>> inv(A)
ans =
[ cos(x)/(cos(x)^2+sin(x)^2), sin(x)/(cos(x)^2+sin(x)^2)]
[ -sin(x)/(cos(x)^2+sin(x)^2), cos(x)/(cos(x)^2+sin(x)^2)]
4) Să se factorizeze expresia
E x 3 yx 2 2 3x 2 y 2 3xy 2 3 y 2 x 3 y 3 .
>> syms x y
>> E=x^3+y*x^2-2*sqrt(3)*x^2*y-2*sqrt(3)*x*y^2+3*y^2*x+3*y^3;
>> factor(E)
ans =
(x+y)*(x-3^(1/2)*y)^2
5) Calculaţi suma
3 5 1
Sn 2 1 , n .
2 4 2 1
n
>> syms k n
>> S=simplify(symsum(1+1/(2^(k-1)),k,1,n))
S=
n+2-2^(1-n)
6) Să se dezvolte determinantul
ab abc bc
a bc ab ac
ac bc a bc
4
>> A=[a+b -a+b-c b+c;a-b-c a+b a+c;a+c b+c -a-b+c];
>> factor(det(A))
ans =
-3*(b+a+c)*(b^2+a^2+c^2)
întâi, p2 1 ;
- descompunerea nu conţine termeni liberi (deoarece k este vectorul nul).
5
Pe baza rezultatelor obţinem următoarea descompunere în fracţii simple:
1 2 1
2x 3 x 32 2x 1
xy x 2 y 3 x 3 y y y 2
în raport cu variabila y .
>>syms x y
>> collect(x*y+x^2*y^3+x^3*y+y-y^2,y)
ans =
x^2*y^3-y^2+(x+x^3+1)*y
9) Expandaţi expresia:
2
E x2 2 x 3 5 x2 2 x 3 5 x2 2 5 .
>>syms x
>>E=(x^2*sqrt(2)-x*sqrt(3)+sqrt(5))*(x^2*sqrt(2)+x*sqrt(3)+sqrt(5))-
(x^2*sqrt(2)+sqrt(5))^2;
>> expand(E)
ans =
-3*x^2
1 p1 x1 p 2 x1
1 p1 x2 p 2 x2
1 p1 x3 p 2 x3
6
[ 1, x1+a, x1^2+b*x1+c]
[ 1, x2+a, x2^2+b*x2+c]
[ 1, x3+a, x3^2+b*x3+c]
>> factor(det(A))
ans =
-(-x3+x2)*(x1-x3)*(x1-x2)
x 2 2m 2x m 2 1 0
în raport cu variabila x .
>> syms x m
>> x=solve('x^2-2*(m+2)*x+m^2-1',x)
x=
[ m+2+(4*m+5)^(1/2)]
[ m+2-(4*m+5)^(1/2)]
3x 4 y mz 0
4 x my 3z 6 ,m .
mx 3 y 4 z 3 m
>> syms x y z m
>> [x,y,z]=solve('3*x+4*y+m*z','4*x+m*y+3*z-6','m*x+3*y+4*z-3-m',x,y,z)
x=
(3*m^2+60-30*m+m^3)/(-36*m+m^3+91)
y=
(2*m^2-45-3*m)/(-36*m+m^3+91)
z=
-(3*m^2+17*m-102)/(-36*m+m^3+91)
2 A 3 1 2 0T 3 AT 2 1 1T .
Pasul 1. Fie A a b c .
7
>> syms a b c
>> A=[a b c];
Tema
1. Se consideră matricea
a b
X .
c d
Calculaţi:
X 2 2aX (a 2 b 2 ) I 2 ,
unde I 2 semnifică matricea unitate de ordinul doi.
2. Fie matricele pătrate
0 0 0 1 0
A 0 0 , B 0 0 1 .
0 0 0 0 0
8
Calculaţi
( A B)100 .
3. Simplificaţi expresiile:
x 3 3x 2 2 x
a) E
x 2 2x
x2 x3 x x 2
b) F :
x 2 x 2 4x 4 x 2 x 2 4
x 2 x sin 3
c) G 4 .
x sin 1
4
4. Calculaţi suma
S n 13 43 7 3 3n 23 , n .
5. Se dau polinoamele
P x x 6 x 5 3 x 4 x 3 4 x 3 ,
Qx 2 x 4 6 x 2 8x 6 , x .
P x
Să se transforme fracţia F x într-o fracţie ireductibilă.
Q x
2 x 2 3x 1
b)
x 3 2 x 2 9 x 18
x 4 3x 3 3x 2 10
c) .
x 3x 12
7. Expandaţi expresia:
9
b) p q3 3 p q2 p q 3 p q p q2 p q3 .
8. Factorizaţi expresia:
a) E x 3 y 3 z 3 3x y x z y z
a) X 3 X 2 1X 2 X 1
b) X 2 2 2 X 2 X 2 2 2 X 2 .
a2 a 12 a 22
b2 b 12 b 22
c2 c 12 c 22
scriind rezultatul sub formă de produs.
11. Să se calculeze determinantul Vandermonde de ordinul patru:
1 1 1 1
x1 x2 x3 x4
V 2 .
x1 x 22 x32 x42
x13 x23 x33 x 43
2a 2 8b 3a 3b 4
cu valoarea 4 .
P X X 4 X 3 X 2 X 1
10
să se calculeze suma:
1 1 1 1
S ,
x1 2 x2 2 x3 2 x4 2
a) 3x 3 2mx 1 m 0 , m
2 x a 3x
b) 2 , a
2 x a 3x
în raport cu variabila x .
ax y z 1
x ay z a , a .
2
x y az a
x ay cz 0
bx cy 3z 1
ax 2 y bz 5
are soluţia x 3 , y 1 , z 2 .
T 2 1
1 1 0
A 3
0 5 .
1 2 4 3 8
11
Laborator 4. Calcul simbolic în Matlab 7.0 cu aplicaţii în Analiză
matematică
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
Matlab 7.0 permite realizarea calculelor simbolice, ce au aplicaţii în Analiză
matematică.
Funcţiile utilizate în vederea efectuării acestor calcule simbolice în Matlab 7.0 sunt:
Funcţia Semnificaţie
limit(f,x,a) Calculează limita expresiei simbolice f când x a
limit(f,x,a,’right’) Calculează limita expresiei simbolice f când x a , x a
limit(f,x,a,’left’) Calculează limita expresiei simbolice f când x a , x a
symsum(s,v,a,b) b
Calculează simbolic s
va
Aplicaţii
1) Calculaţi următoarele limite:
1
1
x
a) lim
x 0 , x 0
e
>> syms x
>> limit(exp(1/x),x,0,'left')
ans =
0
1
x
b) lim
x 0 , x 0
e
>> limit(exp(1/x),x,0,'right')
ans =
Inf
n
c) lim
1
sin 1 sin n lim
1
2 sin k
n n n2 n n n k 1
>> syms k n
>> u=symsum(sin(k),k,1,n);
>> limit(1/(n+n^2)*u,n,inf);
2n!
d) lim
n
n
(n!) 2
>> limit(('(2*n)!/(n!^2)')^(1/n),n,inf)
ans =
4
ln 2 n
a) n xn
n 1
sau
2
1
R . (2)
a n 1
lim
n an
3) Calculaţi
n k 2 3k 1
n .
2
k 1 k 3k 2
>>syms k n
>>s=(k^2+3*k+1)/(k^2+3*k+2);
>> simplify(n-symsum(s,k,1,n))
ans =
1/2*n/(n+2)
>> a=simple(symsum(log(1+1/n),n,1,inf))
a=
Inf
2n 1
b) n n 1
n 1
2 2
3
>> symsum((2*n+1)/(n^2*(n+1)^2),n,1,inf)
ans =
1
n2 n 1
c)
n 1 n 1!
>> symsum((n^2+n-1)/'(n+1)!',n,1,inf)
ans =
2
c) f x , f 11 x ?
1
x 6 x 11x 6
3 2
>> diff(1/(x^3+6*x^2+11*x+6),11);
2 f 2 f 2 f 2 f 2 f 2 f
, , , , şi .
x 2 y 2 z 2 xy xz yz
>> simplify(diff(s,x))
ans =
y^(x^z)*z*log(y)*(x^(2*z-2)*z*log(y)+x^(z-2)*z-x^(z-2))
5
>> simplify(diff(t,y))
ans =
y^(x^z-2)*x^(2*z)-y^(x^z-2)*x^z
>> simplify(diff(u,z))
ans =
y^(x^z)*log(x)^2*log(y)*(x^(2*z)*log(y)+x^z)
>> simplify(diff(s,y))
ans =
y^(x^z-1)*z*(x^(2*z-1)*log(y)+x^(z-1))
>> simplify(diff(s,z))
ans =
y^(x^z)*log(y)*(x^(2*z-1)*log(x)*log(y)*z+x^(z-1)*log(x)*z+x^(z-1))
>> simplify(diff(t,z))
ans =
y^(x^z-1)*log(x)*(x^(2*z)*log(y)+x^z)
9) Se dă câmpul vectorial
2
vx, y, z sin x i y e y j cos 2 z k .
Să se determine:
a) div v ;
b) rot v .
Observatie. În analiză vectorială, câmpurile de vectori, asociază un vector fiecărui
punct din spațiu.
a) Divergenţa unui câmp vectorial
6
atunci când acesta este încălzit, divergența câmpului de viteze are o valoare pozitivă
deoarece aerul se dilată. Dacă aerul se răcește și se contractă, divergența este negativă.
>> syms x y z
>> P=sin(x);
>> Q=y*exp(y^2);
>> R=cos(2*z);
>> div=diff(P,x)+diff(Q,y)+diff(R,z)
div =
cos(x)+exp(y^2)+2*y^2*exp(y^2)-2*sin(2*z)
rot v 0 i 0 j 0 k 0 .
Observatie. În analiza vectorială, rotorul este un operator vectorial care evidențiază
"rata de rotație" a unui câmp vectorial, adică direcția axei de rotație și magnitudinea
rotației.
f x, y, z x 4 xy 2 y 3 x 2 z 1 .
Observatie. În analiză vectorială, câmpurile de scalari, asociază un scalar fiecărui
punct din spațiu. Campurile scalare se pot reprezenta prin suprafete de nivel
x, y, z const sau prin linii de nivel x, y const .
Gradientul unui câmp scalar x, y, z este vectorul
7
grad i j k.
x y z
Vectorul grad este perpendicular pe suprafetele de nivel corespunzatoare campului
scalar .
>> syms x y z
>> f=x^4+x*y^2+y^3+x^2*z+1;
>>v=[x y z];
>> jacobian(f,v)
ans =
[ 4*x^3+y^2+2*x*z, 2*x*y+3*y^2, x^2]
Deci
grad f 4 x 3 y 2 2 xz i 2 xy 3 y 2 j x 2 k .
11) Fie
8
>> J=jacobian(F,v)
J=
[ a*cos(th), -a*rho*sin(th)]
[ b*sin(th), b*rho*cos(th)]
>> simplify(det(J))
ans =
a*b*rho
Deci,
D f1 , f 2
ab .
D ,
D f1 , f 2 , f 3
.
D , ,
>> syms rho th phi
>> F=[rho*sin(th)*cos(phi) rho*sin(th)*sin(phi) rho*cos(th)];
>> v=[rho th phi];
>> J=jacobian(F,v);
>> simplify(det(J))
ans =
sin(th)*rho^2
Deci
D f1 , f 2 , f 3
2 sin .
Dr , ,
9
Calculaţi determinantul funcţional (jacobianul) al funcţiilor f1 , f 2 , f 3 , adică
D f1 , f 2 , f 3
.
D , , z
>> syms rho phi z
>> x=rho*cos(phi);
>> y=rho*sin(phi);
>> F=[x y z];
>> v=[rho phi z];
>> J=simplify(det(jacobian(F,v)))
J=
rho
Aşadar,
D f1 , f 2 , f 3
.
D , , z
f : 3 3 , f x, y, z x y z 2 , 2 x y 2 z, 3x 2 2 xy 12 xz 18zy .
10
>> u=[x y z];
>> J=jacobian(f,u)
J=
[ 2*x+2*y+2*z, 2*x+2*y+2*z, 2*x+2*y+2*z]
[ 2, 1, -2]
[ 6*x+2*y-12*z, 2*x-18*z, -12*x-18*y]
>> v=[-1 0 -1];
>> subs(J,u,v)
ans =
-4 -4 -4
2 1 -2
6 16 12
Aşadar,
4 4 4
J f 1, 0, 1 2 1 2 .
6 16 12
15) Calculati
3
x 1 x
4 2
a) 2 dx
>> syms x
>> a=simplify(int(x^(-4)*(1-x^2)^(3/2)));
1
1 1
b) 2 sin e x d x
x x
>> int((1/x^2)*sin(1/x)*exp(1/x))
ans =
1/2*exp(1/x)*cos(1/x)-1/2*sin(1/x)*exp(1/x)
x2
c) ( x cos x sin x) 2 d x
>> int(x^2/(x*cos(x)-sin(x))^2)
ans =
(-1-2*x*tan(1/2*x)+tan(1/2*x)^2)/(-x+x*tan(1/2*x)^2+2*tan(1/2*x))
11
x2 x 1 1
d) 1 2 d x
x x 1 x
2
>>simple( int(sqrt((x^2-x+1)/(x^2+x+1))*(1-1/x^2)))
ans =
-1/4*(3*log(2*x^2+1+2*(1+x^4+x^2)^(1/2))*x-
asinh(1/3*3^(1/2)*(2*x^2+1))*x+2*atanh(1/2*(2+x^2)/(1+x^4+x^2)^(1/2))*x-
4*(1+x^4+x^2)^(1/2))/x
3
1 4 x
e) dx
x
>> int(((1+x^(1/4))^(1/3))/sqrt(x))
ans =
12/7*(1+x^(1/4))^(7/3)-3*(1+x^(1/4))^(4/3)
Tema
1. Calculaţi:
x
a) lim
x 0 , x 0 x
x
b) lim
x 0 , x 0 x
1
xe x
c) lim 2
x 0, x 0 tg x
d) lim n 1!
n
n 1 n
n!
sin x 3 cos x cos x 3 sin x
e) lim .
ln tg x cos 2 x
x
4
a)
n 2 3n 2 n
n
n 1 6
12
2n 3
b)
n 1 nn 1n 2
2
c) ln 1
n 1 nn 3
xn
a) n n
n 1 2 3
n2 n
1
b) 1 xn
n 1 n
f x cos 3 x , x .
b) g x dacă g x
arccos x
.
2
1 x
b) f x, y x 2 sin 2 y
c) f x, y, z e xy sin z .
b) g x, y, z ln x 2 y 2 z 2
13
x y z xyz
c) hx, y, z arctg .
1 xy yz xz
9. Se dă câmpul vectorial vx, y, z 3x 2 2 x i z 3 y 2 j y 2 z k . Să se
10. Fie
D f1 , f 2
.
D ,
11. Fie
F : D 2 , D 0, ,
12. Calculaţi:
dx
a)
4
1 x 4 3
1 sin x x
b) e dx
1 cos x
c) ln 1 tg x d x
4 x 2 7 x 25
d) dx
x 3 6 x 2 3x 10
x 4 x 1
e) dx.
x 1
14
Laborator 5. Calcul numeric în Matlab 7.0 cu aplicaţii în Algebră
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
1
f , ce se află în intervalul I
gcd(A,B) Calculează cel mai mare divizor comun corespunzător lui A şi
B , care pot fi vectori sau scalari
lcm(A,B) Calculează cel mai mic multiplu comun corespunzător lui A şi
B , care pot fi vectori sau scalari
linsolve(A,b) Rezolvă sistemul de ecuaţii liniare AX b , A n n ,
b n1 , X n1
lu(A) Determină descompunerea LU a matricei pozitiv definită A
norm(X) Calculează norma vectorului (matricei ) X
roots(p) Determină rădăcinile polinomului ai cărui coeficienţi sunt
conţinuţi (în ordinea descrescătoare a puterilor variabilei) în
vectorul linie p
[ v1,..,vn]=solve(„eq1‟,..,‟eqn‟) Rezolvă sistemul format din ecuaţiile eq1 0,, eqn 0
Aplicaţii
1) Verificaţi dacă numerele 87 şi 41 sunt prime între ele.
>> gcd(87,41)
ans =
1
Deoarece c . m . m . d . c87,41 1 rezultă că numerele 87 şi 41 sunt prime între ele.
2) Aflaţi cel mai mic multiplu comun al numerelor : 40, 36, 126.
>> lcm(lcm(40,36),126)
ans =
2520
REZOLVAREA ECUATIILOR ALGEBRICE
Forma canonică a unei ecuaţii algebrice, cu o singură necunoscută este
P X 0 , (1)
unde:
P X an X n an 1 X n 1 a1 X a0 , an 0 ,
2
a k coeficienţii polinomului, care pot fi numere reale sau complexe.
Numărul real sau complex constituie soluţie sau rădăcină a ecuaţiei (1) dacă şi
numai dacă este rădăcină a polinomului P , adică dacă are loc egalitatea P 0 .
3) Determinaţi rădăcinile polinomului
a) P X X 4 X 3 10 X 2 34 X 26
>> p=[1 1 -10 -34 -26];
>> x=roots(p)
x=
4.0105
-1.9342 + 1.3911i
-1.9342 - 1.3911i
-1.1422
b) P X X 5 5 X 1
>> p=[1 0 0 0 5 1];
>> x=roots(p)
x=
1.1045 + 1.0598i
1.1045 - 1.0598i
-1.0045 + 1.0609i
-1.0045 - 1.0609i
-0.1999
REZOLVAREA ECUATIILOR NELINARE
Toate ecuaţiile care nu sunt algebrice se numesc transcendente (neliniare), deci acele
ecuaţii care nu pot fi reduse la ecuaţii algebrice folosind operaţiile: adunare, scădere,
înmulţire, împărţire, ridicare la putere. Ecuaţiile transcendente importante sunt: ecuaţiile
exponenţiale, ecuaţiile logaritmice şi ecuaţiile trigonometrice.
Orice ecuaţie transcendentă se poate scrie sub forma
f x g x
sau sub forma canonică:
f x g x 0 . (2)
3
Spre deosebire de ecuatiile algebrice pentru care se pot obtine forme generale ale
solutiilor, pentru ecuatiile transcendente nu mai este posibil acest lucru. Desi nu exista
metode matematice generale de rezolvare pentru aceste ecuatii, ele pot fi rezolvate grafic
sau prin metode de aproximare. Funcţia care trebuie reprezentată grafic într-un interval
a, b (în care există cel puţin o rădăcină a ecuaţiei (2), adică avem cel puţin o schimbare
de semn) este
hx f x g x . (3)
4) Rezolvaţi ecuaţiile neliniare:
a) 1 x arctgx
>> f=@ (x) 1+x-atan(x);
>> x=fzero(f,[-3 3])
x=
-2.1323
>> f(x)
ans =
2.2204e-016
b) x 2 cos x 0
>> f=@ (x) x.^2-cos(pi*x);
>> s=fsolve(f,[-0.5,0.5])
s=
-0.4384 0.4384
>> f(s)
ans =
1.0e-011 *
0.0962 0.1001
Observatie. Operatia de ridicare la putere element cu element într-un tablou este
simbolizata cu operatorul .^
4
REZOLVAREA SISTEMELOR DE ECUATII LINARE
Un sistem liniar de n ecuaţii cu n necunoscute de forma:
a11 x1 a12 x 2 a1n x n b1
a x a x a x b
21 1 22 2 2n n 2
a n1 x1 a n 2 x 2 a nn x n bn
x1
x2
X este matricea necunoscutelor (matrice coloană),
x
n
b1
b2
B este matricea termenilor liberi (matrice coloană).
b
n
5) Un rezervor poate fi umplut cu apă de la un robinet de apă caldă şi de la un
robinet cu apă rece. Dacă robinetul de apă caldă este deschis 3 min şi de apă rece
1 min, atunci în rezervor sunt 50l . Dacă apa caldă curge 1 min şi apa rece 3 min,
atunci în rezervor vor fi 40l . Câţi litri de apă curg într-un minut din fiecare
robinet?
Notând cu x l min debitul robinetului de apă caldă şi cu y l min debitul
robinetului de apă rece rezultă sistemul
3x y 50
x 2 y 40.
Rezolvarea în Matlab 7.0 a sistemului cu secvenţa de instrucţiuni
5
>> A=[3 1;1 2];
>> b=[50 40]';
>> s=linsolve(A,b);
s=
12
14
conduce la concluzia că robinetul de apă caldă furnizează 12 l min şi robinetul de apă
rece 14l min .
6) Găsiţi curenţii din circuitul următor.
10
A
I3
10V 20V
20 5V
I2 5
B
I1 I6 C I4 D
5
10V
I5
6
REZOLVAREA SISTEMELOR DE ECUATII NELINARE
Un sistem de ecuaţii de forma
f1 x1 , x2 ,, xn 0
f x , x , , x 0
n 1 2 n
în care cel puţin una din funcţiile f i , i 1, n nu este liniară se numeşte sistem de ecuaţii
neliniare.
Din punct de vedere matematic, acest sistem poate fi rezolvat folosind metode
numerice precum metoda lui Newton sau metoda gradientului.
7) Rezolvaţi sistemele neliniare:
3 3
x y 6x 3 0
a. (considerând ca punct iniţial 0.5, 0.5 )
3 3
x y 6 y 2 0
Pasul 1. Definim funcţia vectorială f .
>>f=@(x) [x(1)^3+x(2)^3-6*x(1)+3;
x(1)^3-x(2)^3-6*x(2)+2];
Pasul 2. Rezolvăm sistemul neliniar.
>> s = fsolve(f,[0.5 0.5])
s=
0.53237037226762 0.35125744755245
Pasul 3. Efectuăm verificarea soluţiei pe care am obţinut-o.
>> f(s)
ans =
1.0e-009 *
0.29623858921468
0.19358559200100
x 2 y 2 z 2 9
b. xyz 1 (considerând ca punct iniţial 2.5, 0.2,1.6 ).
x y z 2 0
7
@(x) [x(1)^2+x(2)^2+x(3)^2-9;x(1)*x(2)*x(3)-1;x(1)+x(2)-x(3)^2]
>> s = fsolve(f,[2.5 0.2 1.6])
s=
2.49137569683072 0.24274587875742 1.65351793930053
>> f(s)
ans =
1.0e-011 *
0.11226575225010
0.13493650641294
-0.05244693568329
DETERMINAREA VALORILOR SI VECTORILOR PROPRII
K este o valoare proprie pentru T dacă există x V \ 0 astfel încât
T x x .
Vectorul x V \ 0 pentru care există K astfel încât T x x se numeşte
vector propriu pentru T corespunzător valorii proprii .
8) Determinati vectorii si valorile proprii ai matricei
1 0 0
A 1 2 3 .
1 1 0
>> A=[1 0 0; 1 2 -3; 1 -1 0];
>> [V,D]=eig(A);
REZOLVAREA SISTEMELOR DE ECUATII LINARE FOLOSIND FACTORIZAREA LU
O descompunere a unei matrice A de forma
A L U ,
unde L este o matrice inferior triunghiulară iar U este o matrice superior triunghiulară
se numeşte factorizare LU a matricei A .
După ce am determinat descompunerea LU a matricei A :
L,U lu A ,
8
astfel încât L U A , pentru a rezolva sistemul de ecuaţii liniare, scris sub forma
matriceală AX B se procedează astfel:
- rezolvăm sistemul inferior triunghiular
L Y B Y L1 B ;
- rezolvăm sistemul superior triunghiular
U X Y X U 1 Y .
9) Folosind factorizarea LU să se rezolve sistemul de ecuaţii liniare următor:
8 x1 x2 2 x3 2.3
10 x2 x3 2 x4 0.5
x1 6 x3 2 x4 1.2
3x1 x2 2 x3 12 x4 3.7
9
-1.20000000000000
3.70000000000000
REZOLVAREA SISTEMELOR DE ECUATII LINARE FOLOSIND METODA CHOLESKY
În cazul unui sistem cu matrice simetrică şi pozitiv definită, factorizarea LU are
forma particulară
A U t U (5),
în care U este o matrice superior triunghiulară.
Descompunerea din (5) se numeşte factorizare Cholesky.
După ce am determinat descompunerea Cholesky a matricei A :
U chol A ,
astfel încât U 'U A , pentru a rezolva sistemul de ecuaţii liniare, scris sub forma
matriceală AX B se procedează astfel:
- rezolvăm sistemul inferior triunghiular
U 'Y B Y U '1 B ;
- rezolvăm sistemul superior triunghiular
U X Y X U 1 Y .
10) Rezolvaţi sistemul de ecuaţii liniare următor folosind metoda Cholesky:
10 x1 x2 x3 x4 9
x1 9 x2 x3 x4 8
x1 x 2 11x3 x 4 12
x1 x 2 x3 8 x4 7.
10
10.00000000000000 1.00000000000000 -1.00000000000000 -1.00000000000000
1.00000000000000 9.00000000000000 1.00000000000000 1.00000000000000
-1.00000000000000 1.00000000000000 11.00000000000000 1.00000000000000
-1.00000000000000 1.00000000000000 1.00000000000000 8.00000000000000
Pasul 5. Rezolvăm sistemul inferior triunghiular R Y B .
>> Y=inv(R')*B;
Pasul 6. Rezolvăm sistemul superior triunghiular R X Y .
>> X=inv(R)*Y;
Pasul 7. Verificăm că vectorul X este soluţie a sistemului.
>> A*X
ans =
9.00000000000000
8.00000000000000
12.00000000000000
-7.00000000000000
Tema
1. Determinaţi rădăcinile polinomului
a) P X X 4 2 X 3 X 2
b) P X X 7 2 X 6 3 X 5 4 X 4 5 X 3 6 X 2 7 X 8
2. Rezolvaţi ecuaţiile neliniare
11
3
y 20 x 1 0
b) (considerând ca punct iniţial 0.5, 0.3 )
x 3
xy 10 y 10 0
2
x1 3 lg x1 x2 0
c) (considerând ca punct iniţial 3, 2 )
1
2 x 2
x x
1 2 5 x1 1 0
x 2 y 2 z 2 0
d) 2 x 2 y 2 4 z 0 (considerând ca punct iniţial 0.5, 0.5, 0.5 )
2 2
3x 4 y z 0
12
Laborator 7. Calcul numeric în Matlab 7.0 cu aplicaţii în Analiză
matematică
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
int(f(x),a,b) b
Calculează f x d x
a
quad(f,a,b) b
Calculează valoarea aproximativă a integralei f x d x
a
Aplicaţii
1) Calculaţi derivatele de mai jos, în punctele indicate:
f x arcsin , f 5.7 ?
2 x
a)
1 x
>> syms x
>> f=diff(asin(2*sqrt(x)/(1+x)),2)
f=
1
(-1/2/x^(3/2)/(x+1)-2/x^(1/2)/(x+1)^2+4*x^(1/2)/(x+1)^3)/(1-4*x/(x+1)^2)^(1/2)-
1/2*(1/x^(1/2)/(x+1)-2*x^(1/2)/(x+1)^2)/(1-4*x/(x+1)^2)^(3/2)*(-
4/(x+1)^2+8*x/(x+1)^3)
>> subs(f,x,5.7)
ans =
0.0148
f x 2 x 2 x , f 3 0.2 ?
2
b)
>>syms x
>> f=diff(2^(x^2-2*x),3)
f=
2^(x^2-2*x)*(2*x-2)^3*log(2)^3+6*2^(x^2-2*x)*(2*x-2)*log(2)^2
>> subs(f,x,-0.2)
ans =
-15.6311
2
>> k=diff(s,x)
k=
12*x*y-2*exp(x^2)-4*x^2*exp(x^2)
>> k1=subs(subs(k,x,-1),y,1)
k1 =
-28.3097
>> p=diff(t,y)
p=
0
>> p1=subs(subs(p,x,-1),y,1)
p1 =
0
>> j=diff(s,y)
j=
6*x^2
>> j1=subs(subs(j,x,-1),y,1)
j1 =
6
x, y, z arcsin
z
.
2 2
x y
Derivata unui câmpul scalar într-un punct M x0 , y0 , z0 după o direcţie s este
d
M x0 , y0 , z0 cos x0 , y0 , z0 cos x0 , y0 , z0 cos ,
ds x y z
MN x N xM i y N y M j z N z M k .
3
>> M=[1 1 1];
>> N=[2 3 -2];
>> s=N-M
s=
1 2 -3
Deci,
MN i 2 j 3 k .
4
2 sin 2 x
a) 2
dx
0 1 sin x
>> syms x
>> f=@(x) sin(2*x)/(1+sin(x)^2);
>> int(f(x),0,pi/2)
ans =
log(2)
>> log(2)
ans =
0.6931
sau
>> syms x
>> f=@(x) sin(2*x)./(1+sin(x).^2);
>> quad(f,0,pi/2)
ans =
0.6931
1
b) x 2 x 2 1 d x
0
>> syms x
>> f=@(x) x^2*sqrt(x^2+1);
>> int(f(x),0,1)
ans =
3/8*2^(1/2)+1/8*log(2^(1/2)-1)
>> 3/8*2^(1/2)+1/8*log(2^(1/2)-1)
ans =
0.4202
5) Calculaţi valoarea următoarelor integrale improprii
1 dx
a)
1 x 1
23
>>syms x
5
>> int(1/((x+1)^(2/3)),-1,1)
ans =
3*2^(1/3)
1 dx
b)
0 x1 x
>>syms x
>> int(1/((x*(1-x))^(1/2)),0,1)
ans =
pi
dx
c)
2
1 x
>>syms x
>> int(1/(1+x^2),-inf,inf)
ans =
pi
6) Calculaţi lungimea arcului de curbă:
a) y ln sin x , x ,
3 2
Utilizând formula
b
L 1 f 2 x d x , f : a, b
a
rezultă că
2 2
L 1 ln sin x d x
3 x
6
x 3 cos t
b) y 3 sin t , t 0,
z 4t 2
Pentru o curbă în spaţiu dată parametric
x xt
y y t , t a, b
z z t
lungimea arcului de curbă este
b
L x 2 t y 2 t z 2 t d t .
a
Secvenţa de comenzi Matlab 7.0 necesare calculului lungimii arcului de curbă este
următoarea:
>> syms t
>> x=diff(3*cos(t));
>> y=diff(3*sin(t));
>> z=diff(4*t);
>> L=int(sqrt(x^2+y^2+z^2),0,pi/2);
c) sin 3 , 0,
3 2
Pentru o curbă plană dată în coordonate polare: , a, b , lungimea
arcului de curbă este
b
L 2 2 d .
a
7
7) Calculaţi aria marginită de curbele y ln x , y ln 2 x .
Aria mărginită de două curbe care se intersectează în punctele x1 , y1 şi x2 , y 2
x2
se calculează folosind formula f x g x d x .
x1
Fig. 6.8
>>syms x
>> f=@(x) log(x);
>> g=@(x) log(x)^2;
>> syms y
>> u=solve(log(y)-log(y)^2,y)
u=
1
exp(1)
>> A=eval(int(f(y)-g(y),y,u(1),u(2)))
A=
0.2817
8
8) Se consideră domeniul plan F x, y | 0 x , 0 y sin x. Să se
determine coordonatele centrului de greutate al unei plăci omogene ce are forma lui
F.
Coordonatele centrului de greutate GxG , yG al unei plăci omogene de forma unui
b
xf x d x
x a
G b
f x d x
a
1b 2
f x d x
2a
yG .
b
f x d x
a
>> syms x
>> I1=int(x*sin(x),0,pi);
>> I2=int(sin(x),0,pi);
>> I3=int(sin(x)^2,0,pi)/2;
>> xg=I1/I2
xg =
1/2*pi
>> yg=I3/I2
yg =
1/8*pi
9) Calculaţi următoarele integrale duble:
22 cos y
a) d xd y
0 0 1 sin x sin y
>> syms x y
>> f=@(x,y) cos(y)./(1+sin(x)*sin(y))
f=
@(x,y) cos(y)./(1+sin(x)*sin(y))
9
>> dblquad(f,0,pi/2,0,pi/2)
ans =
1.2337
22 x
b) d xd y
11 y3
>> syms x y
>> f=@(x,y) sqrt(x./(y.^3));
>> dblquad(f,1,2,1,2)
ans =
0.7140
sau
>> syms x y
>> eval(int(int(1/sqrt(y^3),1,2)*sqrt(x),1,2))
ans =
0.7140
Tema
1. Calculaţi derivatele de mai jos, în punctele indicate:
x 1
a. f x arctg , f 3 ?
x 1
f x x , f 4 2 ?
x
b.
x 1
a. f x, y 3 x 2 y , 2, 2
b. f x, y x sinx y , , 0
4
c. f x, y, z x e yz , 1,1,1
10
x, y x 2 y 2 xy .
4. Se dă câmpul vectorial
vx, y, z xz 3 i 2 x 2 yz j 2 yz 4 k .
5 x2 2
b. dx.
1 x 1
dx
b.
3 x x 1
31 xy
b. d xd y
10
1 x 2
y
2 3
11
Laborator 8. Rezolvarea ecuatiilor diferentiale în Matlab 7.0
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
px d x
dy
q y
şi admite soluţia unică definită implicit prin egalitatea
p x d x C .
dy
q y
(8.2)
ex
a) 2 yy
ex 1
>> y=dsolve('Dy=exp(x)/(2*y*(exp(x)+1))','x')
y=
(log(1+exp(x))+C1)^(1/2)
-(log(1+exp(x))+C1)^(1/2)
b) y
y x3 1
1 y2
x
>> y=dsolve('Dy=y*(x^3+1)/x*(1-y^2)','x')
1
y=
1/(x^2+exp(-2/3*x^3)*C1)^(1/2)*x
-1/(x^2+exp(-2/3*x^3)*C1)^(1/2)*x
ECUATII OMOGENE
Numim ecuaţie diferenţială omogenă o ecuaţie de forma
y f x, y ,
(8.3)
f fiind o funcţie continuă şi omogenă (de grad zero).
Ecuaţiile omogene se reduc la ecuaţii cu variabile separabile folosind schimbarea
de variabile
u x
y
. (8.4)
x
ECUATII NEOMOGENE
O ecuaţie diferenţială neomogenă este de forma
y p x y q x ,
(8.5)
unde p, q sunt două funcţii continue.
Soluţia generală a ecuaţiei neomogene (8.5) are expresia analitică:
p x d x px d x
yx e C1 qx e d x , C1 . (8.6)
2
3) Să se rezolve ecuaţia diferenţială neomogenă:
a) y 2 xy 2 xe x
2
>> y=dsolve('Dy=2*x*y+2*x*exp(x^2)','x')
y=
(x^2+C1)*exp(x^2)
b) xy y x 2 cos x , x 0
>> y=dsolve('x*Dy-y=x^2*cos(x)','x')
y=
x*sin(x)+x*C1
Dacă nu este îndeplinită condiţia (8.9) atunci ecuaţia diferenţială (8.7) trebuie
înmulţită cu un factor integrant x, y astfel încât ecuaţia să devină o ecuaţie
diferenţială totală exactă.
3
Se disting două cazuri:
Cazul 1. Dacă x atunci condiţia (8.9) devine
f g
f g y x
f g g x
y x y x g
iar
x d x
x e . (8.12)
Cazul 2. Dacă y atunci raţionând precum în cazul 1, condiţia (8.9) devine:
f g
y x
y
f
iar
yd y
y e . (8.13)
a) y e xy 4xy d x x e xy 2x 2 d y 0
Rezolvând în Matlab 7.0 ecuaţia diferenţială propusă, distingem următorii paşi.
Pasul 1. Verificăm dacă ecuaţia dacă este o ecuaţie diferenţială totală exactă.
>> syms x y t y0 x0 C
>>f=y*exp(x*y)-4*x*y;
>> g=x*exp(x*y)-2*x^2;
>> d1=diff(f,y);
>> d2=diff(g,x);
>> d1==d2
ans =
1
Pasul 2. Deoarece ecuaţia este o ecuaţie diferenţială totală exactă, putem aplica
formula (8.11) pentru a determina soluţia sa.
>> phi=int(subs(subs(f,x,t),y,y0),t,x0,x)+int(subs(g,y,t),t,y0,y)-C
phi =
-exp(y0*x0)+2*y0*x0^2+exp(y*x)-2*x^2*y-C
4
b) y1 xy d x x d y 0
Pasul 1. Verificăm dacă ecuaţia dacă este o ecuaţie diferenţială totală exactă.
>> syms x y t y0 x0
>> f=y*(1+x*y);
>> g=-x;
>> d1=diff(f,y);
>> d2=diff(g,x);
>> d1==d2
ans =
0
Pasul 2. Deoarece ecuaţia nu este o ecuaţie diferenţială totală exactă trebuie să
determinăm factorul integrant cu (8.13),
>> phi=simple((diff(f,y)-diff(g,x))/(-f))
phi =
-2/y
>> miu=exp(int(phi,y))
miu =
1/y^2
Pasul 3. Putem aplica formula (8.11) pentru a determina soluţia ecuaţiei.
>> Phi=int(subs(subs(f*miu,x,t),y,y0),t,x0,x)+int(subs(g*miu,y,t),t,y0,y)-C
Phi =
1/2*x^2-1/2*x0^2+1/y0*(x-x0)+x*(-y+y0)/y/y0-C
>> Phi=simple(Phi);
>> Phi
Phi =
1/2*x^2-1/2*x0^2-1/y0*x0+x/y-C
ECUATII BERNOULLI
Ecuaţia diferenţială de forma
y p x y q x y (8.14)
constituie ecuaţia lui Bernoulli, p, q fiind funcţii continue.
5
Dacă
0 ecuaţia (8.14) devine o ecuaţie diferenţială liniară neomogenă;
1 ecuaţia (8.14) devine o ecuaţie diferenţială cu variabile separabile.
Altfel, adică pentru \ 0,1, folosind schimbarea de funcţie
1
(8.15)
y z 1 ,
ecuaţia (8.14) se reduce la o ecuaţie diferenţială liniară neomogenă.
>> y=dsolve('2*x^2*Dy-4*x*y=y^2','y(1)=1',’x’)
y=
2*x^2/(-x+3)
Observaţie. Nu pot fi rezolvate probleme Cauchy decât în Matlab 7.0 nu şi în
versiunile precedente.
ECUATII RICCATI
O ecuaţie diferenţială, care este de forma
y p x y 2 q x y r x (8.16)
reprezintă ecuaţia lui Riccati, p, q, r fiind funcţii continue.
6
Dacă se cunoaşte o soluţie particulară y p x a sa, atunci folosind substituţia
1
y yp (8.17)
z
ecuaţia (8.17) devine o ecuaţie diferenţială liniară neomogenă.
a) xy y 2 2 x 1y x 2 2 x , x 0
>> y=dsolve('x*Dy=y^2-(2*x+1)*y+x^2+2*x','x')
y=
(-x-1+x^2*C1)/(-1+x*C1)
1
b) 2 y y 2 0
x2
>> y=dsolve('2*Dy+y^2+1/(x^2)=0','x')
y=
(-2-log(x)+C1)/x/(-log(x)+C1)
c) 2 x x 2 x y 2 x y 2 y x 0 , x 0
>> y=dsolve('2*(x-x^2*sqrt(x))*Dy+2*sqrt(x)*y^2-y-x=0','x')
y=
-(x+C1*x^(1/2))*(x-x^(5/2))/(x^(1/2)-1)/(x+x^(1/2)+1)/x/(C1*x+1)
a0 y n a1 y n 1 an 1 y an y 0 . (8.18)
unde a0 , a1 , , an sunt constante reale, a0 0 se numeşte ecuaţie diferenţială liniară
7
reprezintă polinomul caracteristic ataşat ecuaţiei diferenţiale liniară omogenă de ordinul
n , cu coeficienţi constanţi din (8.18).
Cazul 1. Considerăm mai întâi cazul când rădăcinile ecuaţiei caracteristice sunt
reale şi analizăm pe rând subcazul când rădăcinile sunt distincte şi apoi cazul când
ecuaţia caracteristică are şi rădăcini multiple.
a) Presupunem că ecuaţia caracteristică are toate rădăcinile reale distincte 1 , , n .
Solutia generala a ecuatiei (8.18) este de forma
Q pi 1x C1 C2 x C p x pi 1 (8.22)
i
este un polinom de grad cel mult pi 1 .
8
unde Ci , Ci , i 1, k sunt constante arbitrare.
yx C1e 1x cos 1x C2 xe 1x cos 1x C p1 x p1 1e 1x cos 1x (8.24)
C1e 1x sin 1x C2 xe 1x sin 1x C p1 x p1 1e 1x sin 1x.
cu multiplicitatile p1,, p j , unde 2 p1 p j n .
Solutia generala a ecuatiei diferentiale (8.18) va fi:
x
yx R1 x cos 1x S1 x sin 1xe 1x R p j 1 x cos j x S p j 1 x sin j xe j , (8.25)
unde
p 1
R p j 1 x C1 C2 x C p j x j este un polinom de grad cel mult p j 1 ,
p 1
S p j 1 x C1 C2 x C p j x j este un polinom de grad cel mult p j 1 .
si
o radacinile complexe
j 1 1 i1
j l l i l
cu multiplicitatile p j 1 , , p j l , unde
p1 p j 2 p j 1 p j l n .
Solutia generala a ecuatiei (8.18) va fi:
9
j l
yx Q pi 1 x e i x e k x R p j k 1 x cos k x S p j k 1 x sin k x ,
i 1 k 1
(8.26)
unde
Q pi 1 x este un polinom de grad cel mult pi 1 si are expresia (8.22),
a0 y n a1 y n 1 an 1 y an y f x , (8.27)
unde a0 , a1 , , an sunt constante reale, a0 0 iar f : C 0 I este o funcţie
În cazul când f este o funcţie oarecare, pentru determinarea unei soluţii particulare
a ecuaţiei neomogene se utilizează metoda variaţiei constantelor (sau metoda
10
constantelor variabile) a lui Lagrange; soluţia particulară a ecuaţiei neomogene poate fi
găsită sub forma
y p x C1 x y1 x C2 x y2 x Cn x yn x ,
unde C1 x , C2 x , Cn x reprezintă soluţia sistemului algebric, liniar, de n ecuaţii,
cu n necunoscute, neomogen:
C1 x y1 x C 2 x y 2 x C n x y n x 0
C x y x C x y x C x y x 0
1 1 2 2 n n
n 2 x C x y n 2 x C x y n 2 x 0
C1 x y1 2 2 n n
C1 x y n 1 x C 2 x y n 1 x C n x y nn 1 x f x .
1 2 a0
y p x
C
. (8.28)
an
b) Daca 0 este rădăcină multiplă de ordinul m a ecuaţiei caracteristice atunci
m
C xm
y p x . (8.29)
m!an m
Situatia 2. Membrul drept al ecuaţiei diferenţiale (8.27) are forma
11
f x Cex ,
unde este o constanta.
C ex
y p x . (8.30)
P
b) Daca este rădăcină multiplă de ordinul m a ecuaţiei caracteristice atunci
ecuaţia diferenţială (8.27) are o soluţie particulară de forma
C x m ex
y p x . (8.31)
P m
Situatia 3. Membrul drept al ecuaţiei diferenţiale (8.27) este de forma
f x Pm x ,
y p x x r Qm x , (8.33)
unde Qm x este un polinom de acelaşi grad ca şi Pm x .
Situatia 4. Membrul drept al ecuaţiei diferenţiale (8.27) este de forma
f x ex Pm x .
y p x ex Qm x , (8.34)
12
unde Qm x este un polinom de acelaşi grad ca şi Pm x ,
Q m t Pm t Pm t
ai cărui coeficienţi se
neomogenă.
b) Daca este rădăcină multiplă de ordinul r a ecuaţiei caracteristice, atunci
r
y p x ex x r Pm x . (8.35)
Situatia 5. Membrul drept al ecuaţiei diferenţiale (8.27) este de forma
f x M cos x N sin x .
a) Daca i i
nu este rădăcină a ecuaţiei caracteristice, atunci ecuaţia
diferenţială (8.27) are o soluţie particulară de forma
y p x A cos x B sin x .
(8.36)
b) Daca i este rădăcină multiplă de ordinul m a ecuaţiei caracteristice, m
13
y p x y p1 x y pk x ,
(8.40)
cu y pi x corespunzător lui f i x . f i t
x pi t
c) y 3 y 3 y y e x x, x0
>> y=dsolve('D3y-3*D2y+3*Dy-y=exp(x)*sqrt(x)','x')
y=
8/105*x^(7/2)*exp(x)+C1*exp(x)+C2*exp(x)*x+C3*exp(x)*x^2
d) y x sin x
>> y=dsolve('D2y=x+sin(x)','x')
y=
1/6*x^3-sin(x)+C1*x+C2
e) y ln x , x 0
>> y=dsolve('D3y=ln(x)','x')
y=
1/6*x^3*log(x)-11/36*x^3+1/2*x^2*C1+C2*x+C3
ECUATII EULER
O ecuaţie diferenţială liniară neomogenă de ordin superior cu coeficienţi variabili
se poate reduce la o ecuaţie cu coeficienţi constanţi, numită ecuaţia lui Euler:
an x n y n an 1 x n 1 y n 1 a1 xy a0 y f x , (4.1)
14
cu ai , i 0, n , iar f o funcţie continuă.
Ecuaţia lui Euler se reduce la o ecuaţie cu coeficienţi constanţi prin schimbarea
variabilei independente x e t .
a) x 2 y xy x 6 x ln x
>> y=dsolve('x^2*D2y-x*Dy+y=6*x*ln(x)','x')
>> y=dsolve('x^2*D2y-x*Dy+y=6*x*ln(x)','x')
y=
x*C2+log(x)*x*C1+log(x)^3*x
b) xy y 1 x
>> y=dsolve('x*D3y+D2y=1+x','x')
y=
1/12*x^3+x*log(x)*C1-C1*x+1/2*x^2+C2*x+C3
>> y=dsolve('D3y*(x-1)-D2y=0','y(2)=2','Dy(2)=1','D2y(2)=1','x')
y=
5/6+1/6*(x-1)^3+1/2*x
Tema
1. Rezolvaţi ecuaţia diferenţială cu variabile separabile:
a) 1 y 2 xyy 0
y2 y 1
b) y
x2 x 1
15
2. Să se integreze ecuaţia diferenţială totală:
x 2 3y 2 d x 2xy d y 0 .
3. Să se rezolve ecuaţiile diferenţiale omogene şi reductibile la omogene:
2 xy
a) y
x2 y2
a) y 3xy xy 2
y 1
b) y , x 0, y 0.
x x2 y2
a) y y 2 x 2 1
x 2 2 1
b) y y y .
2 x 2x3
c) y 4 3 y 5 y 3 y 4 y 0
16
8. Să se determine soluţia generală a următoarelor ecuaţii diferenţiale neomogene cu
coeficienţi constanţi:
1
a) y 3 y 2 y
1 ex
9 x 2 6 x 2 3x
b) y 6 y 6 y e
x3
c) y 3 4 y cos 3x
d) y 5 4 y x 2 e x
e) y 7 y 12 x .
a) x 2 y xy x 2 sinln x
b) x 3 y 3x 2 y xy y x .
17
Laborator 9. Rezolvarea sistemelor de ecuatii diferentiale în Matlab 7.0
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
SISTEME OMOGENE
Un sistem de ecuaţii diferenţiale de forma
y1 a11 y1 a12 y 2 a1n y n f1 x
(9.1)
y 2 a 21 y1 a 22 y 2 a 2n y n f 2 x
y n a n1 y1 a n 2 y 2 a nn y n f n x ,
unde
d yk
y k , k 1, n ,
dx
aij i, j 1, n sunt constante reale,
a ij
fi C 0 I , i, j 1, n , I ,
1
Metoda eliminării constă în reducerea sistemului de ecuaţii diferenţiale la o
singură ecuaţie diferenţială liniară de ordinul n , pentru una din funcţiile
n
>>[y1,y2,y3]=dsolve('Dy1=y1+y2-3*y3','Dy2=4*y1+y2-2*y3','Dy3=2*y1+y2-
6*y3','y1(0)=2','y2(0)=1','y3(0)=-1','x')
y1 =
-13/14*exp(-5*x)+3/2*exp(-x)+10/7*exp(2*x)
2
y2 =
-3*exp(-x)+4*exp(2*x)
y3 =
-13/7*exp(-5*x)+6/7*exp(2*x)
SISTEME NEOMOGENE
Soluţia generală a sistemului neomogen (9.1) este suma dintre soluţia generală a
sistemului omogen şi o soluţie particulară a sistemului neomogen.
O soluţie particulară a sistemului neomogen se poate determina cu ajutorul metodei
variaţiei constantelor.
>> [y1,y2]=dsolve('Dy1=y2','Dy2=y1+exp(x)+exp(-x)','x')
y1 =
exp(x)*C2+exp(-x)*C1+1/2*x*exp(x)-1/4*exp(-x)-1/4*exp(x)-1/2*exp(-x)*x
y2 =
exp(x)*C2-exp(-x)*C1+1/2*x*exp(x)-1/4*exp(-x)+1/4*exp(x)+1/2*exp(-x)*x
y y y x x 2
1 2 3
b) y 2 3 y1 y3 2 x 2
y 3 y y x 3
3 1 2
>> [y1,y2,y3]=dsolve('Dy1=y2+y3-x-x^2','Dy2=3*y1+y3-2-x^2','Dy3=3*y1+y2+x-
3','x')
y1 =
1+2/3*C2*exp(3*x)-C3*exp(-2*x)
y2 =
x+exp(-x)*C1+C2*exp(3*x)+C3*exp(-2*x)
y3 =
-exp(-x)*C1+C2*exp(3*x)+C3*exp(-2*x)+x^2
3
3) Să se determine soluţia sistemului de ecuaţii diferenţiale de ordinul întâi
d x d y
d t d t y 4x 1
d x 2 d y 4 y 2x t
dt dt
x0 1
y 0 2.
>> [x,y]=dsolve('Dx-Dy=y-4*x+1','Dx+2*Dy=4*y+2*x+t','x(0)=-1','y(0)=2','t')
x=
17/108-244/135*exp(-3*t)+13/20*exp(2*t)-1/18*t
y=
122/135*exp(-3*t)+13/10*exp(2*t)-11/54-2/9*t
4)
Tema
1) Să se rezolve următorul sistem de ecuaţii diferenţiale liniare omogen:
y1 y 2 y3
a) y 2 y3 y1
y y y
3 1 2
y1 2 y1 2 y 2 2 y3
b) y 2 10 y1 6 y 2 8 y3
y 3 y y 2 y
3 1 2 3
d y
d x 3 y 8 z 4u 0
d z
c) y 5 z 2u 0
d x
d u
d x 3 y 14 z 6u 0.
4
dx 1
t d t y t
b) ,t 0
t d y x t
d t
y y y e x
1 2 3
c) y 2 y1 y3 e x
y3 y1 y 2 e
x
d x
d t z y 4x 1
d y
d) 2y x z 1
dt
d z
d t y z 2 x 1.
5
dx
3 d t x 2 y t 1
d y 4 x y 2t 3
c) 3
dt
x0 2
y 0 3
6
Laborator 10. Reprezentări grafice în plan în Matlab 7.0
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
Matlab 7.0 dispune de funcţii speciale care permit realizarea reprezentărilor grafice 2D.
Reprezentarea datelor în coordonate carteziene este realizată utilizând funcţia plot.
plot(f) Reprezintă grafic funcţia f
plot(f,linie,marker,culoare) Reprezintă grafic funcţia f utilizând un anumit stil de linie, un
anumit simbol de marker şi o anumită culoare
plot(f,g) Reprezintă grafic simultan două funcţii f şi g în acelaşi sistem de
coordonate
plot(f,g,linie,marker,culoare) Reprezintă grafic simultan două funcţii f şi g în acelaşi sistem de
coordonate, utilizând un anumit stil de linie, un anumit simbol de
marker şi o anumită culoare
ezpolar(f) Reprezintă grafic în coordonate polare curba f în domeniul
0 2 (nu apare la versiunile precedente de Matlab)
comet(x,y) Repezentarea dinamică a vectorului y în funcţie de vectorul x
Observaţie. Vom lista codurile corespunzătoare fiecărui stil de linie, fiecărui simbol
de marker şi fiecărei culori folosite într-o reprezentare grafică 2D:
Specificatori ai stilurilor de linie
Specificator Stilul de linie
- Linie continuă
-- Linie întreruptă
: Puncte
-. Linie- punct
Simboluri de markere
Specificator Tipul de marker
1
+ Semnul plus
o Cerc
* Steluţă
. Punct
x x
„square‟ sau s Pătrat
„diamond‟ sau d Romb
„pentagram‟ sau p Pentagon
„hexagram‟ sau h Hexagon
^ Triunghi cu vârful în sus
v Triunghi cu vârful în jos
< Triunghi cu vârful spre stânga
> Triunghi cu vârful spre dreapta
Specificatori de culori
Specificator Culoarea
r Roşu
g Verde
b Albastru
c Albastru deschis
m Mov
y Galben
k Negru
w Alb
Aplicaţii
REPREZENTAREA CARTEZIANA
f x arcsin , x 5, 5
2x
a)
1 x2
Pasul 1. Se fixează intervalul pe care va fi reprezentată funcţia şi un anumit pas.
>>x=-5:0.1:5;
2
Pasul 2. Definim funcţia ce urmează să fie reprezentată.
>> f=@(x) asin(2*x./(1+x.^2));
Pasul 3. Realizăm reprezentarea grafică.
>> plot(f(x),'m','LineWidth',4)
2
1.5
0.5
-0.5
-1
-1.5
-2
0 20 40 60 80 100 120
, x 10,10
x 1
b) f x x 1 e
>> x=-10:0.01:10;
>> f=@(x) abs(x+1).*exp(-abs(x-1))
f=
@(x) abs(x+1).*exp(-abs(x-1))
>> plot(f(x),'k','LineWidth',5)
2
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 500 1000 1500 2000 2500
3
>> plot(x,f(x),'k',x,g(x),'b','LineWidth',3)
4
-1
-2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x2 y2
- are ecuaţia carteziană implicită: 1;
a2 b2
- este caracterizată de ecuaţiile parametrice:
x a c ost
, t 0, 2 .
y b s in t
>> a=2;b=1; x=-a:0.001:a;
>> y=(b/a)*sqrt(a^2-x.^2);
>> y1=-(b/a)*sqrt(a^2-x.^2);
>> plot(x,y,'b',x,y1,'b','LineWidth',4)
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
4
b) Hiperbola:
x2 y2
- are ecuaţia carteziană implicită: 1;
a 2 b2
- este caracterizată de ecuaţiile parametrice:
x a ch t
, t daca x a, ,
y b sh t
x a ch t
, t daca x , a .
y b sh t
>> a=2;b=1;
>> t=-2:0.02:2;
>> x=a*cosh(t); y=b*sinh(t);
>> plot(x,y,'r',-x,-y,'r','LineWidth',4)
>>grid
4
-1
-2
-3
-4
-8 -6 -4 -2 0 2 4 6 8
c) Parabola:
- are ecuaţia carteziană implicită:
2 px, x 0
y2
2 px, x 0
- are ecuaţiile parametrice
t2
x
2 p, t .
y t
>> p=2;
>> t=-2:0.001:2;
5
>> x=t.^2/(2*p); y=t;
>> plot(x,y,'m','LineWidth',4)
1.5
0.5
-0.5
-1
-1.5
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
d) Astroida:
- are ecuaţia carteziană implicită:
2 2 2
x y a3 ;
3 3
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
6
e) Cardioida:
- are ecuaţiile parametrice:
x a cos t 1 cos t
, t 0, 2 .
y a sin t 1 cos t
>> a=5;
>> t=0:0.01*pi:2*pi;
>>x=@(t) a*cos(t).*(1-cos(t));
>>y=@(t) a*sin(t).*(1-cos(t));
>> plot(x(t),y(t),'b', 'LineWidth',4)
8
-2
-4
-6
-8
-10 -8 -6 -4 -2 0 2
7
2
1.5
0.5
-0.5
-1
-1.5
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5
g) Curba Butterfly
- are ecuaţiile parametrice:
cos t t
x sin t e 2 cos 4t sin 5
12
, t 0, 2 .
y cos t e cos t 2 cos 4t sin 5 t
12
>> t=0:0.001*pi:2*pi;
>> x=@(t) sin(t).*(exp(cos(t))-2*cos(4*t)+sin(t/12).^5);
>> y=@(t) cos(t).*(exp(cos(t))-2*cos(4*t)+sin(t/12).^5);
>> plot(x(t),y(t), 'k','LineWidth',4)
-1
-2
-3 -2 -1 0 1 2 3
8
Notand
dy
y p p d y pd x (10.2)
dx
ecuatia (10.1) devine
y xA p B p ;
(10.3)
prin diferentiere obtinem:
p d x A p d x xA p B p d p ,
adica
p A pd x xA p B pd p .
Daca
1. p A p 0
atunci rezulta
dx A p B p
x ,
d p p A p p A p
o ecuatie diferentiala neomogena, avand solutia generala:
A p A p
d p
dp
x e p A p C e p A p
B p
d p .
(10.4)
p A p
Din (10.3) si (10.4) deducem ca solutia generala a ecuatiei Lagrange este:
A p A p
d p
B p
dp (10.5)
y A p e p A p C e p A p d p B p .
p A p
2. p A p se anuleaza pe intervalul comun de definitie al functiilor A si B ,
atunci vom nota cu p1 solutia ecuatiei:
p A p 0
(10.6)
careia îi corespunde o solutie a ecuatiei Lagrange, adica
y xA p1 B p1 . (10.7)
9
Solutia singulara este solutia care are proprietatea ca prin fiecare punct al sau, trece
cel putin o solutie a ecuatiei diferentiale. Solutia singulara nu poate fi obtinuta din solutia
generala a ecuatiei diferentiale, pentru nici o valoare a constantei C .
Din punct de vedere geometric, solutia singulara este infasuratoarea familiei de
curbe, care definesc solutia generala a ecuatiei diferentiale.
Infasuratoarea unei familii de curbe este curba, care este tangenta in fiecare punct
al sau, unei curbe din familia respectiva (vezi fig. de mai jos).
4 2 8 3
x y y y .
9 27
>> y=dsolve('x-y=(4/9)*Dy^2-(8/27)*Dy^3','x')
y=
-4/27+x
C1+(x-C1)^(3/2)
C1-(x-C1)^(3/2)
>> t=-12:0.1:12;
>>C1=12 ;
>> x=(t.^2).^(1/3)+C1;
>> y=t+C1;
>>C2=11;
>> x1=(t.^2).^(1/3)+C2 ;
>> y1=t+C2;
>>C3=8;
>> x2=(t.^2).^(1/3)+C3 ;
>> y2=t+C3;
>>C4=2 ;
10
>>x4=(t.^2).^(1/3)+C4 ;
>> y4=t+C4;
>>C5=10;
>>x5=(t.^2).^(1/3)+C5 ;
>> y5=t+C5 ;
>> x3=-15:15;
>> y3=-4/27+x3;
>> plot(x,y,'b',x1,y1,'b',x2,y2,'b',x4,y4,'b',x5,y5,'b',x3,y3,'m','LineWidth',2)
11
adica
x B pd p 0 .
Daca
1. d p 0 p C ;
atunci din (10.9) obtinem
y Cx BC ,
(10.10)
ecuatie care reprezinta a familie drepte din plan, ce constituie solutia generala a ecuatiei
Clairaut.
2. x B p 0 x B p ;
se obtine solutia singulara a ecuatiei Clairaut:
y pB p B p .
(10.11)
y xy 4y 2 .
12
0.25
0.2
0.15
0.1
0.05
-0.05
-0.1
-0.15
-0.2
-0.25
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
REPREZENTAREA POLARA
90 2
120 60
1.5
150 1 30
0.5
180 0
210 330
240 300
270
r = a sin(2 t)
REPREZENTAREA DINAMICA
13
>> comet(t,tan(sin(t))-sin(tan(t)))
Tema
1. Reprezentaţi grafic în plan următoarele funcţii:
1
x5 2
a) f x , x 3, 5
ln x 5
1 x2
c) f x arcos , x 10,10
1 x2
x2 2 x2 3
f x
1
x2
4
d) g x f 2 x 3 cos 3x 2 , x 5, 5 .
h x f x g x
x x0 2 y y0 2 r 2 ;
x x0 r cos t
- are ecuaţiile parametrice: , t 0, 2 .
y y 0 r s int
14
b) Cicloida
- are ecuaţiile parametrice:
xt r t sin t
, t .
yt r 1 cos t
a) Cardioida:
f a1 cos , 0, 2 .
b) Scarabaeus:
15
Laborator 11. Reprezentări grafice în spatiu în Matlab 7.0
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
Matlab 7.0 dispune de funcţii speciale care permit realizarea reprezentărilor grafice 3D,
funcţii ilustrate mai jos.
Funcţia Semnificaţie
ellipsoid(xc,zc,yc,a,b,c) reprezintă grafic elipsoidul de ecuaţie
x xc 2 y yc 2 z zc 2 1
a2 b2 c2
X=linspace(x1,x2,n) Generează un vector X cu n componente, cuprinse în
intervalul x1, x2. Pasul dintre doua componente este
pas x2 x1 n 1 . Daca valoarea lui n este omisa,
atunci aceasta este considerata implicit egala cu 100.
[X,Y]=meshgrid(x,y) Returnează în matricele X şi Y , perechile de coordonate ale
tuturor punctelor din domeniul definit de vectorii x şi y ;
matricele sunt utile pentru reprezentări grafice 3D.
mesh(X,Y,Z) Reprezintă grafic suprafaţa Z X , Y sub forma unei retele
plot3(X,Y,Z) Reprezintă grafic câte o linie în spaţiu prin punctele ale căror
coordonate sunt elementele matricelor X , Y , Z
plot3(X1,Y1,Z1,’linie Realizează reprezentări grafice 3D multiple, tipurile şi
tip1’,X2,Y2,Z2,’linie tip2…) culorile liniilor precizându-se precum în cazul funcţiei plot
Aplicaţii rezolvate
>> X=linspace(-2,3,5)
1
X=
X=
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
Y=
-3 -3 -3 -3 -3
0 0 0 0 0
3 3 3 3 3
REPREZENTAREA 3D A SUPRAFETELOR
-1
-2
10
10
5
5
0
2 -5
-5
0
b) f x, y x 4 y 4 , x, y 3, 3
>> [x,y]=meshgrid(-3:.1:3,-3:.1:3);
>> z=x.^4-y.^4;
>> mesh(x,y,z);
100
50
-50
-100
4
2 4
0 2
0
-2 -2
-4 -4
1.5
0.5
0
2
0 15
10
-2 5
-4 0
-5
-6 -10
b) Hiperboloidul cu o pânză:
- are ecuaţia în coordonate carteziene
x2 y2 z2
1 0, a b 0, c 0;
a2 b2 c2
- are reprezentarea parametrică:
3
x a 1 u 2 cos v
y b 1 u sin v , u , v 0, 2 .
2
z cu
>> a=7;c=2;b=3;
>>u=linspace(-1,1,300);v=linspace(0,2*pi,300);
>> x=a*cos(v)'*sqrt(1+u.^2);y=b*sin(v)'*sqrt(1+u.^2);z=c*ones(size(v))'*u;
>> mesh(x,y,z)
c) Paraboloidul hiperbolic:
- are ecuaţia în coordonate carteziene
2 2
x y
2
2 2 z , a 0, b 0 ;
a b
- are reprezentarea parametrică:
x a 2v cos u
y b 2v sin u , u 0, 2, v 0 .
z v cos 2u
>>a=3;b=2;
>> [x,y]=meshgrid(-60:15/6:90,-50:5/2:50);
>> z=x.^2/(2*a^2)-y.^2/(2*b^2);
>> mesh(x,y,z);
4
600
400
200
-200
-400
50
100
0 50
0
-50
-50 -100
d) Cilindrul:
- are ecuaţia în coordonate carteziene
x2 y2 R2 ;
- are reprezentarea parametrică:
x R cos u
y R sin u , u 0, 2 , v 0, h .
z v
>> R=0.5;
>> u=linspace(0,2*pi,200);
>> v=linspace(0,50,200);
>> x=R*cos(u)'*ones(size(v));
>> y=R*sin(u)'*ones(size(v));
>> z=ones(size(u))'*v;
>> mesh(x,y,z)
50
40
30
20
10
0
0.5
0.5
0
0
-0.5 -0.5
5
e) Conul de rotaţie:
- are ecuaţia în coordonate carteziene
2
x2 y
2
z
2
2 0 , a, c 0 ;
a c
- are reprezentarea parametrică:
x av cos u
y av sin u , v .
z cv
>> a=1; c=2;
>> u=linspace(0,2*pi,200);
>>v=linspace(0,50,200);
>> x=a*cos(u)'*v;
>> y=a*sin(u)'*v;
>> z=c*ones(size(u))'*v;
>>mesh(x,y,z)
100
80
60
40
20
0
50
50
0
0
-50 -50
x2 y2 z2
1 0, a b 0, c 0 ;
a2 b2 c2
- are reprezentarea parametrică:
x a sinh u cos v
y b sinh u sin v , u , v 0, 2 .
z c cosh u
6
>> a=3;c=3;b=2;
>> u=linspace(-3,3,200);v=linspace(0,2*pi,200);
>> x=a*cos(v)'*sinh(u);y=b*sin(v)'*sinh(u);
>>z=c*ones(size(v))'*cosh(u);z1=-c*ones(size(v))'*cosh(u);
>> plot3(x,y,z,x,y,z1,'LineWidth',8);
50
-50
40
20 40
0 20
0
-20 -20
-40 -40
x2 y2 z2
0, a b 0, c 0;
a2 b2 c2
- reprezentarea parametrică:
x av cos u
y bv sin u , v , u 0, 2 .
z cv
>> a=4;b=3;c=2;
>> u=linspace(0,2*pi,200);
>>v=linspace(0,50,200);
>> x=a*cos(u)'*v;
>> y=b*sin(u)'*v;
>> z=c*ones(size(u))'*v;
>> z1=-c*ones(size(u))'*v;
>> plot3(x,y,z,x,y,z1,’LineWidth’,8)
7
100
50
-50
-100
200
100 200
0 100
0
-100 -100
-200 -200
x R cos u
4. Reprezentaţi grafic arcul de elice: y R sin u , u 0, 2 .
a
z u
2
>> R=4;a=1;
>> u=linspace(0,2*pi,200);
>> x=R*cos(u)'*ones(size(u)); y=R*sin(u)'*ones(size(u)); z=(a/(2*pi))*u'*ones(size(u));
>> mesh(x,y,z, 'LineWidth',8)
0.8
0.6
0.4
0.2
0
4
2 4
0 2
0
-2 -2
-4 -4
8
>> a=0.5;c=1;b=1.5;
>> u=linspace(0,2*pi,100);v=linspace(0,2*pi,100);
>> x=a*ones(size(v))'*cos(u);
>> y=b*cos(v)'*ones(size(u))+a*ones(size(v))'*sin(u);
>> z=c*sin(v)'*ones(size(u));
>> mesh(x,y,z)
0.5
-0.5
-1
-0.5
1 1.5 2
0.5 -0.5 0 0.5
-2 -1.5 -1
b) Astroidal Ellipsoid:
x a cos 3 u cos 3 v
y b sin u cos v , u , , v , , a 1 , b 0.05 , c 0.7 .
3 3
2 2
z c sin 3v
0.05
-0.05
0.05
1
0 0.5
0
-0.5
-0.05 -1
9
Aplicaţii propuse
f x, y , x 1, 3 , y 6, 6 ;
20
x
a.
2 2 3
y
f x, y , x 10,10 , y 6, 6 ;
xy
b.
1 x 2
y
2 3
d. f x, y 1 x y 2 , x, y 1, 4 .
2. Reprezentaţi grafic:
a) Sfera
- are ecuaţia în coordonate carteziene
x2 y 2 z 2 R2
- are reprezentarea parametrică:
x sin cos
y sin sin , 0 , 0, , 0, 2 .
z cos
b) Paraboloidul eliptic
- are ecuaţia în coordonate carteziene
x 2 y 2
2z , a b 0 ;
a2 b2
- are reprezentarea parametrică:
x a 2v cos u
y b 2v sin u , u 0, 2, v 0 .
z v
10
Laborator 12. Funcții definite de utilizator în Matlab 7.0 – Partea I
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
Un program Matlab 7.0 poate fi scris sub forma fişierelor script sau a fişierelor function.
Fişierele ce conţin instrucţiuni Matlab 7.0 poartă denumirea de fişiere- M datorită
faptului că au extensia “m” .
Un fişier script este un fişier- M, ce conţine o secvenţă de comenzi Matlab. Pentru
execuţia acestei secvenţe de comenzi, se scrie în linia de comandă numele fişierului script.
Fişierele funcţie sunt fişiere- M, care conţine în prima linie cuvântul cheie function.
Spre deosebire de un script, o funcţie poate lucra cu argumente.
Sintaxa primei linii a unui fişier funcţie este
function [y1,…,yn]=nume_funcţie(x1,…,xn)
unde
y1,…,yn constituie parametrii de ieşire (în lipsa acestora se elimină parantezele
drepte şi semnul egal);
x1,…,xn reprezintă parametrii de intrare (în cazul lipsei acestora se elimină
parantezele rotunde).
După terminarea execuţiei unei funcţii, numai variabilele de ieşire ale acesteia vor
rămâne în memoria calculatorului, în timp ce în cazul unui script rămân în memorie toate
variabilele cu care acesta a operat.
Dintre instrucţiunile de control logic din Matlab 7.0 menţionăm: if, else, elseif, end,
while, for, break.
Instrucţiunea condiţională if are forma generală
if expresie1
grup1_instrucţiuni;
elseif expresie2
grup2_instrucţiuni;
else
1
grup3_instrucţiuni;
end
Cele două instrucţiuni elseif şi else, asociate cu if sunt opţionale.
Expresia este de forma
expr1 op expr2
unde op este un operator relaţional din tabelul următor.
Operator relaţional Semnificaţia
== egal
~= diferit
< mai mic
> mai mare
<= mai mic sau egal
>= mai mare sau egal
Se testează expresia 1; dacă aceasta este adevărată atunci se execută grup1_instrucţiuni.
Altfel se testează expresia 2. Dacă aceasta este adevărată atunci se execută grup2_instrucţiuni
iar în caz contrar se execută grup3_instrucţiuni.
Instrucţiunea repetitivă for este utilizată pentru repetarea unui grup de instrucţiuni, de
un anumit număr de ori şi are sintaxa
for index=expr
grup_instrucţiuni;
end
unde
index este numele contorului,
expr este o expresie de forma
iniţial:pas:final,
în care:
- iniţial este prima valoare a contorului,
- pas constituie pasul (implicit se consideră 1),
- final reprezintă cea mai mare valoare pe care o poate lua index.
Instrucţiunea repetitivă while se foloseşte în scopul repetării unui grup de instrucţiuni de
un număr de ori, determinat de expresia specificată; are formatul
while expr
2
grup_instrucţiuni;
end
Expresia este de forma
expr1 op expr2
unde op este un operator relaţional.
Grupul de instrucţiuni se execută cât timp expresia este adevărată.
Instrucţiunea break termină execuţia buclelor for şi while; în afara acestor bucle,
instrucţiunea break nu este definită.
Instrucţiunea end încheie ciclurile for, while şi if.
Aplicaţii rezolvate
1 cos x 3 y 3
, x2 y2 0
b) f x, y x2 y2
2
0 x y 0
2
3
0.4
0.3
0.2
0.1
-0.1
-0.2
-0.3
-0.4
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
b) function r=f(x,y)
[m,n]=size(x);
for k=1:m
for t=1:n
if x(k,t)^2+y(k,t)^2~=0
r=(1-cos(x(k,t)^3+y(k,t)^3))/(x(k,t)^2+y(k,t)^2);
else
r=0;
end
end
end
end
Se salvează fişierul cu f.m apoi în linia de comanda se scrie:
>>[x,y]=meshgrid(-1:.01:1,-2:.1:2);
>> [m,n]=size(x);
>> for k=1:m
for t=1:n
z(k,t)=f(x(k,t),y(k,t));
end
end
>> mesh(x,y,z)
4
1
0.8
0.6
0.4
0.2
0
2
1 1
0 0.5
0
-1 -0.5
-2 -1
5
Propozitia 12.1 (conditii necesare pentru un extrem). Punctele in care o functie
diferentiabila f x, y are un extrem, numite puncte stationare se determina rezolvand
sistemul de ecuatii:
f x x, y 0
(12.1)
f y x, y 0
Propozitia 12.2 (conditii suficiente pentru un extrem). Fie Pa, b un punct stationar
al functiei f x, y , adica f x a, b f y a, b . Se construieste discriminantul:
Atunci:
A) daca E 0 , functia are un extrem in punctul Pa, b , adica:
1) un minim local daca f 2 a, b 0 (sau f 2 a, b 0 ),
x y
2 f 2 f 2 f
(12.3)
x 2 xy xz
2
f 2 f 2 f
.
xy y 2 yz
2 f 2 f 2 f
xz yz z 2
Daca
este o matrice pozitiv definita, atunci punctul Pa, b, c este un punct de minim
local al lui f ,
este o matrice negativ definita, atunci punctul Pa, b, c este un punct de maxim
local al lui f ,
6
nu este nici pozitiv nici negativ definita, atunci punctul Pa, b, c nu este un
punct de extem;
O3 nu putem lua nici o decizie asupra punctului Pa, b, c .
Definitia 12.2. O matrice simetrica A aij 1i, j n este pozitiv (negativ) definita daca
forma sa patratica asociata este pozitiv (negativ) definita.
Definitia 12.3. Fie V un spatiu vectorial real.
a) Forma patratica f : V este pozitiv definita (negativ definita) daca
f x 0 ( respectiv, f x 0 ), x V , x 0 ;
f a 0 si f b 0 .
f x, y x 2 y 2 e 2 x 3 y , x 0, y 0 .
Pasul 1. Determinăm punctele staţionare, adică soluţiile sistemului (12.1):
>>syms x y
>>f=(x^2+y^2)*exp(2*x+3*y);
>> u=diff(f,x);
>>v=diff(f,y);
>> [x,y]=solve(u,v,x,y)
x=
0
-4/13
y=
0
-6/13
>>a=x(1); b=y(1);
>>aa=x(2); bb=y(2);
Pasul 2. Pentru fiecare punct staţionar a, b calculăm discriminantul din (12.2)
function [E,q]=local(a,b,u,v);
syms x y
7
uv=diff(u,y)^2;
uu=diff(u,x);
vv=diff(v,y);
p=subs(subs(uv,x,a),y,b);
q=subs(subs(uu,x,a),y,b);
r=subs(subs(vv,x,a),y,b);
E=p-q*r;
end
Se salvează fişierul cu local.m apoi în linia de commandă se scrie:
>> [E,q]=local(a,b,u,v)
E=
-4
q=
2
Aşadar, 0, 0 este punct de minim local, iar valoarea minimă a funcţiei este 0 şi se
obţine din comanda Matlab 7.0
>>subs(subs(f,x,0),y,0)
ans=
0
unde este multiplicator Lagrange si determinam extremul pe baza acestei functii auxiliare.
Observatie.Conditiile necesare pentru un punct de extrem se reduc la sistemul de
ecuatii:
8
F f
x x x 0, (12.5)
F f
0,
y y y
x, y 0
cu trei necunoscute x, y, .
Problema existenţei extremului conditionat se rezolva studiind semnul
discriminantului
Observatie. In mod similar se pot defini extremele conditionate ale unei functii de trei sau
mai multe variable.
f x, y, z x 2 y 2 z , x 2 y 2 z 2 1 .
Pasul 1. Determinăm punctele staţionare, adică soluţiile sistemului
Fx x, y, z , 0
F y x, y , z , 0
Fz x, y, z , 0
F x, y , z , 0
F x, y, z, x 2 y 2 z x 2 y 2 z 2 1 .
function r=F(x,y,z,la)
r=x-2*y+2*z+la*(x^2+y^2+z^2-1);
end
9
>> syms x y z la
>> u=diff(F(x,y,z,la),x);
>> v=diff(F(x,y,z,la),y);
>> w=diff(F(x,y,z,la),z);
>> q=diff(F(x,y,z,la),la);
>> [xx,yy,zz]=solve(u,v,w,x,y,z);
g=subs(subs(subs(q,x,xx(1)),y,yy(1)),z,zz(1));
>> p=solve(g,la)
p=
-3/2
3/2
>> for i=1:2
xs(i)=subs(xx,la,p(i));
end
>> xs
xs =
[ 1/3, -1/3]
>> for i=1:2
ys(i)=subs(yy,la,p(i));
end
>> ys
ys =
[ -2/3, 2/3]
>> for i=1:2
zs(i)=subs(zz,la,p(i));
end
zs =
[ 2/3, -2/3]
1 2 2 1 2 2
Deci, există două puncte staţionare: , , şi , , .
3 3 3 3 3 3
Pasul 2. Pentru fiecare punct staţionar a, b, c determinam elementele matricei A de
forma (12.3).
10
function [A]=local(x1,y1,z1,la1,u,v,w)
syms x y z
t11=subs(subs(subs(subs(diff(u,x),x,x1),y,y1),z,z1),la1);
t12=subs(subs(subs(subs(diff(u,y),x,x1),y,y1),z,z1),la1);
t13=subs(subs(subs(subs(diff(u,z),x,x1),y,y1),z,z1),la1);
t22=subs(subs(subs(subs(diff(v,y),x,x1),y,y1),z,z1),la1);
t23=subs(subs(subs(subs(diff(v,z),x,x1),y,y1),z,z1),la1);
t33=subs(subs(subs(subs(diff(w,z),x,x1),y,y1),z,z1),la1);
A=[t11 t12 t13 ;t12 t22 t23; t13 t23 t33];
end
>> [A]=local(xs(1),ys(1),zs(1),p(1),u,v,w)
A=
[-3, 0, 0]
[0, -3, 0]
[0, 0, -3]
1 2 2
Aşadar, , , este punct de maxim local, iar valoarea maximă a funcţiei
3 3 3
F x, y, z, este 3 şi se obţine din comanda Matlab 7.0
>> F(xs(1),ys(1),zs(1),p(1))
ans =
3
>> [A]=local(xs(2),ys(2),zs(2),p(2),u,v,w)
A=
[3, 0, 0]
[0, 3, 0]
[0, 0, 3]
1 2 2
Rezultă că , , este punct de minim local, iar valoarea minimă a funcţiei
3 3 3
F x, y, z, este -3 şi se obţine din comanda Matlab 7.0:
11
>> F(xs(2),ys(2),zs(2),p(2))
ans =
-3
Aplicaţii propuse
1. Se consideră vectorul x=[3.24 2 5 3 4.5 7 6.67 8.95 4.34 2.12] ce conţine rezultatele
obţinute prin N=10 determinări experimentale. Să se realizeze un fisier script în Matlab
pentru a calcula abaterea medie pătratică a acestor rezultate, folosind formula
2
N N
N xi2 xi
sigma
i 1 i 1 .
N N 1
2. Scrieţi un fisier “function” în Matlab pentru a reprezenta grafic funcţia
2 x 3, daca x 10, 2,
f x 2
2 x 1, daca x 2, 20.
3. Să se determine cu ajutorul Matlab-ului extremele locale ale funcţiei
f x, y 2 x 2 2 xy 5 y 2 6 x 6 y .
4. Să se determine în Matlab extremele funcţiei următoare, dată cu condiţia specificată,
aplicând metoda multiplicatorilor lui Lagrange
f x, y 6 4 x 3 y , x 2 y 2 1 .
12
Laborator 13. Funcții definite de utilizator în Matlab 7.0 – Partea a-II-a
Bibliografie
I. Iatan - “Îndrumător de laborator în Matlab 7.0”, Ed. Conspress, Bucureşti, 2009.
Aplicaţii rezolvate
F x, y x 2 2 xy i 2 xy y 2 j
de-a lungul arcului de parabola AB : y x 2 , care uneste punctele A1,1 si B2, 4 .
Etapa I. Secventa Matlab urmatoare permite reprezentarea arcului AB .
>> x=-4:.1:4;
>> y=x.^2;
>> plot(x,y,1,1,'or',2,4,'or')
1
16
14
12
10
B(2,4)
4
2 A(1,1)
0
-4 -3 -2 -1 0 1 2 3 4
Etapa II. Se construiesc in Matlab 7.0 functiile P.m si respectiv Q.m, care reprezinta
componentele fortei.
function r=P(x,y)
r=x^2-2*x*y;
end
function r=Q(x,y)
r=2*x*y+y^2;
end
Etapa III. Se selectează succesiv File->New->M-file şi se scriu următoarele instructiuni:
syms x y t
x=t;
y=t^2;
xt=diff(x,t);
yt=diff(y,t);
int(P(x,y)*xt+Q(x,y)*yt,1,2)
Etapa IV. Se salvează fişierul cu lm.m apoi în linia de comanda se scrie:
>> lm
ans =
1219/30
2
Aria unei suprafete plane marginita de o curba C poate fi calculata folosind una din
urmatoarele formule:
xd y ,
C (13.3)
yd x,
C (13.4)
1
xd y yd x, (13.5)
2C
D x, y 2 | x 2 y 2 4, 3 y x 2
si densitatea
3
x, y y .
Etapa I. Secventa Matlab urmatoare permite reprezentarea domeniului D .
>> x=-2:.1:2;
>> y=sqrt(4-x.^2);
>> y1=-sqrt(4-x.^2);
>> y2=x.^2/3;
>> plot(x,y,'b',x,y1,'b',x,y2,'r')
2
D
1.5
A B
1
0.5
0
y
-0.5
-1
-1.5
-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x
>> [x,y]=solve('x^2+y^2=4','3*y=x^2')
x=
3^(1/2)
-3^(1/2)
2*i*3^(1/2)
-2*i*3^(1/2)
y=
1
1
-4
-4
Se poate observa ca
4
x2
D x, y 2 | 3 x 3, y 4 x2 .
3
Etapa II. Se defineste functia densitate in fisierul ro.m:
function r=ro(x,y)
r=y;
end
Etapa III. Se selectează succesiv File->New->M-file şi se scriu următoarele instructiuni:
function r=masa(x,y)
r=int(int(ro(x,y),y,x^2/3,sqrt(4-x^2)),x,-sqrt(3),sqrt(3))
end
Etapa IV. Se salvează fişierul cu masa.m apoi în linia de comanda se scrie:
>>syms x y
>> M=masa(x,y)
M=
14/5*3^(1/2)
Momentele de inertie in raport cu axele de coordonate O x si O y pentru o placa
x y 2 x, y d x d y
D
(13.7)
y x 2 x, y d x d y .
D
(13.8)
4. Calculati cu ajutorul unui fisier de tip function realizat in Matlab 7.0, momentele de
inertie in raport cu axele de coordonate pentru o placa de forma domeniului:
D x, y 2 | x y 1, x 0, y 0
daca densitatea sa este:
x, y xy .
Etapa I. Secventa Matlab urmatoare permite reprezentarea domeniului D .
>> x=0:.2:1;
>> y=1-x;
>> plot(x,y,1,0,'or',0,1,'or')
5
B(0,1)
1
0.9
0.8
0.7
0.6
0.5
y
D
0.4
0.3
0.2
0.1
A(1,0)
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
6
rezulta
x2 y2
D 2 d xd y ,
a2 b2
unde
x2 y2
1, x 0, y 0 .
a2 b2
Etapa I. Se defineste in Matlab functia integrant; se salveaza cu numele f.m.
function r=f(x,y,a,b)
r=sqrt(2-x^2/a^2-y^2/b^2);
end
Etapa II. Se defineste in Matlab functia ce realizeaza schimbarea de variabile in coordonate
polare generalizate; se salveaza cu numele polarg.m.
function [x,y]=polarg(a,b,rho,th)
x=a*rho*cos(th);
y=b*rho*sin(th);
end
Etapa III. Se calculeaza valoarea integralei in lina de comanda.
>> syms a b rho th
>> [x,y]=polarg(a,b,rho,th);
>>I=simple(int(int(a*b*rho*f(x,y,a,b),rho,0,1),th,0,pi/2))
I=
1/6*a*b*pi*(-1+2*2^(1/2))
7
APLICATII ALE INTEGRALE TRIPLE
Masa unui solid ce ocupa o regiune V , avand densitatea x, y, z in punctul x, y, z
este
M V x, y, z d x d y d z .
(13.9)
Observatie. In cazul cand domeniul V este de forma:
V x, y, z | x, y D, 1x, y z 2 x, y ,
x, y D semnifica ca punctul x, y apartine regiunii D din planul O xy , adica
D prV xoy .
In acest caz, integrala tripla se calculeaza astfel:
2 x, y
V f x, y, z d x d y d z D f x, y, z d z d x d y .
(13.10)
1 x, y
6. Calculati in Matlab masa unui corp solid, de forma tetraedrului din primul octant, marginit
de planele x y z 1 , x 0 , y 0 , z 0 , stiind ca densitatea sa este x, y, z xy .
Etapa I. Secventa Matlab urmatoare permite reprezentarea corpului.
>> x=[1 0 0 0 1 0]; y=[0 0 1 0 0 1]; z=[0 0 0 1 0 0];
>> plot3(x,y,z,1,0,0,'ob',0,1,0,'ob',0,0,1,'ob',0,0,0,'ob')
0.8
0.6
C(0,0,1)
z
0.4
0.2
0 B(0,1,0)
1
0.8 A(1,0,0)
0.6
1
0.4 0.8
O(0,0,0) 0.6
0.2 0.4
0.2
y 0 0
x
8
Se poate observa
V x, y, z 3 | 0 z 1 x y, x, y D ,
D prV xOy x, y 2 | 0 x 1, 0 y 1 x AOB
De aceea,
syms x y z
m=int(int(int(x*y,z,0,1-x-y),y,0,1-x),x,0,1)
>>mass
m=
1/120
Coordonatele centrului de greutate ale unui corp solid, de forma unui domeniu
V este punctul GxG , yG , zG , unde:
V x x, y, z d x d y d z
xG (13.12)
V x, y, z d x d y d z
V y x, y, z d x d y d z
yG
V x, y, z d x d y d z
z x , y , z d x d y d z
zG V .
V x, y, z d x d y d z
9
y 2 2z 2 4x
si
x 2.
Etapa I. Secventa Matlab urmatoare permite reprezentarea corpului omogen.
>> [y,z]=meshgrid(-3:.03:3,-2.5:.03:2.5);
>> x=y.^2/4+z.^2/2;
>> [m,n]=size(x);
>> x1=2*ones(m,n);
>> plot3(x,y,z,x1,y,z)
0
z
-1
-2
-3
5
0 6
5
4
3
2
y -5 1
0
x
Se observa ca:
y 2 2z 2
V x, y, z 3 | x 2, y, z D ,
4
unde
D y, z 2 | y 2 2 z 2 8 D y, z 2 |
y2 z2
8
4
1 .
Etapa II. Se calculeaza integrala
10
y 2 2 z 2
2 (13.13)
I1 V d x d y d z D d x d y d z D 2
d yd z ,
2 4
y 2z 4
2
12
0
Etapa VIII. Se calculeaza zG .
>> zg=I4/I1
zg =
0
Aplicaţii propuse
A , 1 din primul cadran.
2
2. Folosind schimbarea de variabile in coordonate polare, calculati prin intermediul unui
functii Matlab construite de dvs. integrala dubla urmatoare:
ln x 2 y 2
D x 2 y 2 d x d y ,
unde D : 1 x 2 y 2 e 2 ;
3. Construiti un script Matlab pentru a calcula valoarea integralei triple:
11 1 1
I d xd yd z .
00 0 x y z 1
4. Determinati cu ajutorul unui fisier realizat in Matlab, masa unui corp de forma
cubului:
0 x 1
0 y 1
0 z 1
daca densitatea sa in punctul M x, y, z este
x, y, z xyz.
13
14