Lab Num
Lab Num
E. SCHEIBER
Braşov
Tema de LABORATOR
Pentru a fi primit în examen trebuie efectuată şi predată cadrului didactic coordona-
tor al activităţii de laborator Lucrarea de laborator de Analiză numerică/Calcul numeric.
Lucrarea constă în rezolvarea a câte unei probleme din toate temele cuprinse în Culegerea
de probleme.
Pe o foaie A5 se vor scrie
1. Titlul capitolului;
4. Rezultatele obţinute.
3. Numărul de ordine din catalog sau cel primit de la coordonatorul activităţii de lab-
orator. În continuare ne referim la acest număr prin notaţia I D.
2
3
I Scilab 7
6 Integrare numerică 38
6.1 Integrarea funcţiilor de o variabilă reală . . . . . . . . . . . . . . . . . . . . . . 38
6.2 Calculul numeric al integralelor duble . . . . . . . . . . . . . . . . . . . . . . . 40
II MathCAD 45
7 Prezentare generală 46
7.1 Efectuarea calculelor numerice . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4
CUPRINS 5
12 Integrare numerică 83
12.1 Integrare numerică . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.2 Calculul numeric al integralelor duble . . . . . . . . . . . . . . . . . . . . . . . 84
15 Probleme de interpolare 95
17 Integrare numerică 98
6 CUPRINS
Bibliografie 100
Part I
Scilab
7
Capitolul 1
Cap. 2
8
1.1. OBIECTE SCILAB 9
• Literali
– Literali numerici
Exemple:
1. Numărul real 10,23 se poate scrie:
10.23=0.1023e+2=0.1023E+2=1023e-2=1023E-2.
2. Numărul complex 1 + 5i se scrie 1 + 5 ∗ %i .
– Literali nenumerici
Un caracter sau un şir se caractere – string – se defineşte (scrie):
’c’ sau "c"
’string’ sau "string"
• Şiruri de numere
Progresia aritmetică introduce definind primul termen (a), raţtia (r şi o marginea
superioară sau inferioară (M ), după cum raţia este pozitivă sau negativă, prin sin-
taxa
a :r :M
Dacă parametrul r lipseşte atunci raţia este 1.
a=0.2:0.3:1
0.2 0.5. 0.8
b=1:-0.3:0
1. 0.7 0.4 0.1
10 CAPITOLUL 1. ELEMENTE DE PROGRAMARE ÎN SCILAB
1. i=1:n
a(i)=formula termenului general
2. a = [a 1 , a 2 , . . . , a n ],
unde a 1 , a 2 , . . . , a n sunt termenii şirului.
i=1:4
1 2 3 4
a(i)=i^2
1 4 9 16
b=[1,4,9,16]
a==b
T T T T
• Matrice
a=[1,2,3;4,5,6]
Elementele unei linii se pot separa prin virgulă sau spaţiu. Elementele unei
matrice pot fi: constante/variabile numerice, constante booleene, şiruri de
caractere, polinoame, funcţii raţionale.
O progresie aritmetică, interpretat ca un vector linie (adică o matrice cu o
singură linie) se poate defini prin
prog=primulElement : pas : margine
Dacă pas=1 atunci parametrul poate fi omis.
Exemplu. Prograsiile aritmetice a = 0.2, 0.6, 1.0, 1.4, 1.8 şi b = 0, −1, −2, −3, −4
se obţin prin
a=0.2 : 0.4 : 2
a=
! 0.2 0.6 1.0 1.4 1.8 !
1.1. OBIECTE SCILAB 11
b=-1 : -1 : -4
b=
! -1 -2 -3 -4 !
unde a l i ,ci = v i . ∀i .
Funcţia full(a ) afişează o matrice rară a în formatul obişnuit.
– Matrice speciale.
variabilaMatrice(numărLinie, numărColoană)
– Funcţii matriceale.
12 CAPITOLUL 1. ELEMENTE DE PROGRAMARE ÎN SCILAB
Mnemonic Semnificaţia
triu(A) Matricea superior triunghiulară a lui A
tril(A) Matricea inferior triunghiulară a lui A
diag(A) Vectorul cu elementele diagonale ale lui A
size(A) Şir cu dimensiunile lui A
length(A) Numărul elementelor lui A
max(A) Cel mai mare element al lui A
min(A) Cel mai mic element al lui A
– Extinderea unei matrice. Date fiind o matrice a şi un vector linie v
[v; a]
[a; v]
[v 0 , a]
[a, v 0 ]
a(l 1 : l 2 , c 1 : c 2 )
X=poly(0,’X’);
p=X^2+3*X+2
v=[1,2,3];
p=poly(v,’X’)
p=
-6 + 11X - 6X^2 +X^3
q=poly(v,’X’,’coef’)
q=
1 + 2X + 3X^2
list(e 1 , e 2 , . . . , e n )
l=list(1,%t,’abc’,[1,2;3,4])
l=
l(1)
1
l(2)
T
l(3)
abc
l(4)
! 1. 2. 3. 4. !
• Instrucţiuni condiţionate
1.
if condiţie then
instrucţiuni
elseif condiţie then
instrucţiuni
else
instrucţiuni
end
2.
select expresie
case expr esi e 1 then instrucţiuni
..
.
1.3. FUNCŢII(SUBPROGRAME) ÎN SCILAB 15
else
instrucţiuni
end
case şi then trebuie scrise pe aceeaşi linie.
• Instrucţiuni de ciclare
1.
for n = n1 : pas : n2, instrucţiuni, end
Dacă pas = 1, atunci acest parametru este opţional.
2.
,
while condiţie do instrucţiuni, end
then
while şi do sau then trebuie scrise pe aceaşi linie.
Instrucţiunea break realizează un salt necondiţionat la prima instrucţiune aflată
după instrucţiunea de ciclare.
Pentru exprimarea condiţiilor se utilizează
Operatori relaţionali Operatori logici
Simbol Semnificaţie Simbol Semnificaţie
== = & şi
∼= 6 = | sau
<= ≤ ∼ negaţia
< <
>= ≥
> >
Fiecare instrucţiune introdusă în dreptul promptului Scilab este executată şi rezul-
tatul este afişat. Încheierea unei comenzi cu ; are ca efect inhibarea afişării.
save(’cale\numeFişier.bin’, f )
load(’cale\numeFişier.bin’)
Funcţii definite în exterior. Cu un editor de fişiere se crează subprogramul
function [y 1 , . . . , y n ]= f (x 1 , . . . , x m )
instructiuni Scilab
endfunction
getf(’cale\ f .sce’,’c’)
Semnificaţia celui de al doilea parametru ’c’ este aceea că Scilab foloseşte în execuţie
o formă compilată a subprogramului. Dacă se utilizează ’n’ atunci codul subprogramului
este interpretat.
Funcţiile definite în exterior pot fi organizate în biblioteci. Astfel funcţiile Scilab –
deci având extensia .sci – aflate într-un catalog localizat prin cale sunt reunite într-o
bibliotecă prin comanda
genlib(’numeBibliotecă’,’cale’)
Prin această operaţie are loc compilarea funcţiilor şi crearea unui fişier names cu
cuprinsul bibliotecii.
O bibliotecă odată creată, resursele ei pot fi utilizate după reîncărcarea ei prin
numeBibliotecă=lib(’cale’)
plot2d(x, y)
unde
x 1,1 ... x 1,n y 1,1 ... y 1,n
fplot2d(x, f )
unde
iar rezultatul este graficul funcţiei f construit pe baza valorilor ei în punctele lui x.
1.4.2 Grafică 3D
• plot3d(X,Y,Z)
Dacă suprafaţa este definită prin ecuaţiile parametrice
x = x(u, v) u ∈ [a, b]
y = y(u, v) v ∈ [c, d ]
z = z(u, v)
function [x,y,z]=suprafata(m,n)
u=linspace(a,b,m);
v=linspace(c,d,n);
for i=1:m
for j=1:n
x(i,j)=. . .
y(i,j)=. . .
z(i,j)=. . .
end
end
endfunction
urmat de
getf(’. . .\suprafata.sce’,’c’)
[x,y,z]=sum(m,n);
plot3d(x,y,z)
Capitolul 2
Cap. 1 Cap. 3
A=[1,2,-1,3,2;2,4,-2,5,1;-1,-2,1,-3,-4;,3,6,2,10,7;1,2,4,0,4];
[L,U,P]=lu(A)
P =
0. 0. 0. 1. 0.
18
2.1. FACTORIZAREA UNEI MATRICE 19
0. 1. 0. 0. 0.
0. 0. 0. 0. 1.
1. 0. 0. 0. 0.
0. 0. 1. 0. 0.
U =
3. 6. 2. 10. 7.
0. 0. - 3.3333333 - 1.6666667 - 3.6666667
0. 0. 3.3333333 - 3.3333333 1.6666667
0. 0. 0. - 2. 0.5
0. 0. 0. 0. - 2.
L =
1. 0. 0. 0. 0.
0.6666667 1. 0. 0. 0.
0.3333333 0. 1. 0. 0.
0.3333333 0. - 0.5 1. 0.
- 0.3333333 0. 0.5 - 1. 1.
6 6 1
X = 3 6 1
2 1 1
X=[6,6,1;3,6,1;2,1,1];
[Q,R,P]=qr(X)
P =
0. 1. 0.
1. 0. 0.
0. 0. 1.
R =
-->X*P-Q*R
0. - 8.882D-16 3.331D-16
0. - 8.882D-16 1.110D-16
1.110D-16 0. 0.
2. se calculează x = A −1 b.
Expresia A −1 se poate introduce întocmai (Aˆ(-1)) sau se poate utiliza funcţia Scilab
inv( A ).
Funcţia Scilab det( A ) calculează determinantul matricei A.
A = [1,2,3,4;2,3,4,1;3,4,1,2;4,1,2,3];
b = [11;12;13;14];
det(A)
ans=
160
x=inv(A)*b
x=
! 2 !
! 1 !
! 1 !
! 1 !
2.2. REZOLVAREA SISTEMELOR ALGEBRICE DE ECUAŢII LINIARE 21
În general, pentru sistemul algebric de ecuaţii liniare Ax+b = 0, funcţia Scilab [x,k]=linsolve(A,b)
calculează
1. x – o soluţie particulară;
0
x1 −1 0 −1
−1
p
x2 1 −1 1 2
0
= + c = + c .
x3 2 0 2 0
x4 0 1 0 p1
2
A=[1,1,1,1;2,-1,2,-1;1,2,-1,2;2,1,4,1;3,2,-2,2];
b=[2;1;-1;7;-5] ;
det(A)
ans=
0
[x,k]=linsolve(A,-b)
k =
- 5.551D-17
0.7071068
2.776D-16
- 0.7071068
x =
- 1.
22 CAPITOLUL 2. ALGEBRĂ LINIARĂ NUMERICĂ
0.5
2.
0.5
0
p1
2
.
0
−1
p
2
Notând cu u şi v cele două soluţii particulare puse în evidenţă mai sus
−1 −1
1 0.5
u= v =
2 2
0 0.5
găsim
0
0.5 1
u−v = = p k ∈ KerA
0 2
−0.5
Capitolul 3
Cap. 2 Cap. 4
x1 f 1 (x 1 , . . . , x n )
. ..
x = .. f (x) = ,
.
xn f n (x 1 , . . . , x n )
23
24 CAPITOLUL 3. REZOLVAREA SISTEMELOR ŞI ECUAŢIILOR ALGEBRICE
x 12
10x 1 + − 2x 2 x 3 − 0.1 = 0
10x 2 − x 22 + 3x 1 x 3 + 0.2 = 0
x 32
10x 3 + + 2x 1 x 2 − 0.3 = 0
deff(’q=f(p)’,[’x=p(1)’,’y=p(2)’,’z=p(3)’,
’q(1)=10*x+x.^2-2*y.*z-0.1’,
’q(2)=10*y-y.^2+3*x.*z+0.2’,
’q(3)=10*z+z.^2+2*x.*y-0.3’])
p0=[0,0,0];
[p,q,info]=fsolve(p0,f)
info=
1.
q=
1.0E-15*
! - .2636780 !
! .2775558 !
! .9436896 !
3.2. REZOLVAREA ECUAŢIILOR ALGEBRICE 25
p=
! .0098702 !
! - .0200485 !
! .0299499 !
deff(’y=f(x)’,’y=2.^x-x.^2’)
[x,y,info]=fsolve(1,f)
info
1.
y=
0.
x=
2.
sau cu precizarea derivatei funcţiei f (x)
deff(’y=df(x)’,’y=(2.^ x).*log(x)-2*x’)
[x,y,info]=fsolve(1,f,df)
info=
1.
y=
0
x=
2.
Dacă x0 = 5 atunci x = 4, iar pentru x0 = −1 găsim x = −0.7666647.
Graficul funcţiei f este reprezentat în Fig. 1.
Fig. 1.
x=roots(p)
unde
• p este polinomul Scilab cu coeficienţi reali sau complecşi de grad cel mult
100.
• x este un tablou cu rădăcinile polinomului p.
c=[1,2,3,2,1];
p=poly(c,’x’,’coef’);
3.3. REZOLVAREA ECUAŢIILOR POLINOMIALE 27
x=roots(p)
x=
! - .5 + .8660254i !
! - .5 - .8660254i !
! - .5 + .8660254i !
! - .5 - .8660254i !
Capitolul 4
Rezolvarea problemelor de
interpolare
Cap. 3 Cap. 5
function f=lagrange(xd,x,y)
[mx,nx]=size(x);
[my,ny]=size(y);
ierror=0;
if (nx~=ny)|(mx~=1)|(my~=1),
28
4.1. INTERPOLARE POLINOMIALĂ 29
ierror=1;
disp(’data dimension error’)
abort
end
xx=sort(x);
for k=1:nx-1,
if xx(k)==xx(k+1),
ierror=1;
break,
end
end
if ierror~=0,
disp(’data error’)
abort
end
[m,n]=size(xd);
f=zeros(m,n);
p=zeros(m,n);
q=zeros(m,n);
w=ones(1,nx);
for i=1:nx,
for j=1:nx,
if i~=j,
w(i)=w(i)*(x(i)-x(j)),
end
end
end
for i=1:m,
for j=1:n,
u=find(x==xd(i,j));
if ~isempty(u),
f(i,j)=y(u);
else
for k=1:nx,
p(i,j)=p(i,j)+y(k)/(xd(i,j)-x(k))/w(k);
q(i,j)=q(i,j)+1/(xd(i,j)-x(k))/w(k);
end
f(i,j)=p(i,j)/q(i,j);
end
end
end
endfunction
30 CAPITOLUL 4. REZOLVAREA PROBLEMELOR DE INTERPOLARE
f (x) = x 2
xi = i , i ∈ {0, 1, . . . , 5}
z = 0.5, 3, 5, 10
Rezolvarea este:
deff(’y=fct(x)’,[’y=x^2’])
getf(’c:\lucru\scilab\lagrange.sci’,’c’)
x=0:5;
y=fct(x);
z=[0.5,3.5,10];
f=lagrange(z,x,y)
! 0.25 12.25 100 !
1. d=splin(x,y);
ele.
4.2. INTERPOLARE CU FUNCŢII SPLINE CUBICE 31
Exemplul 4.2 Să se calculeze valorile funcţiei spline cubice de interpolare şi ale derivatelor
sale de ordin 1, 2, 3 pentru datele de interpolare
f (x) = x 3
xi = i , i ∈ {0, 1, . . . , 5}
z = 0.5, 3, 5, 10
deff(’y=f(x)’,[’y=x^3’])
x=0:5;
y=f(x);
z=[0.5,3.5,10];
d=splin(x,y);
[s,s1,s2,s3]=interp(z,x,y,d)
s3=
! 6. !
! 6. !
! 0. !
s2=
! 3. !
! 21. !
! 0. !
s1=
! 0.75 !
! 36.75 !
! 0. !
s=
! .125 42.875 0 !
Capitolul 5
Cazul liniar. Determinarea unui polinom de aproximare construit prin metoda celor
mai mici pătrate de grad m pentru datele (x i , y i )1≤i ≤n (m << n) se obţine cu ajutorul
funcţiei
coef =lq(m,x,y)
unde
32
33
function coef=lq(m,x,y)
[mx,nx]=size(x);
[my,ny]=size(y);
if((nx~=ny)|(mx~=1)|(my~=1)),
disp("data dimension error")
abort
end
u=zeros(m+1,nx);
for i=1:m+1,
for j=1:nx,
u(i,j)=x(j)^(i-1);
end
end
coef=(u*u’)^(-1)*u*y’;
endfunction
Exemplul 5.1 Să se calculeze polinoamele de aproximare de grad unu şi doi, constituite
prin metoda celor mai mici pătrate, pentru datele (x i , y i )0≤i ≤20 unde x i = −2+0.2i , y i =
f (x i ), f (x) = |x|. Să se reprezinte grafic funcţiile astfel obţinute.
x=-2:0.2:2;
y=abs(x);
c1=lq(1,x,y)
c1=
! 1.047619 !
! 0. !
c2=lq(2,x,y)
c2=
! .3883622 !
! 0. !
! .4494933 !
deff(’y=p1(x)’,[’y=c1(1)+c1(2)*x’])
deff(’y=p2(x)’,[’y=c2(1)+c2(2)*x+c2(3)*x.*x’])
y1=p1(x);
y2=p2(x);
xx=[x’,x’,x’];
yy=[y’,y1’,y2’];
plot2d(xx,yy,[1,2,3],’121’,’abs@p1@p2’)
Astfel, polinoamele de aproximare de gradul întâi şi doi sunt
p 1 (x) = 1.047619
34 CAPITOLUL 5. METODA CELOR MAI MICI PĂTRATE
şi respectiv
p 2 (x) = 0.3883622 + 0.4494933x 2
Cazul neliniar.
Pentru determinarea funcţiei de aproximare y = ϕ(t , x 1 , . . . , x n ) care minimizează ex-
presia
m
Φ(x 1 , . . . , x n ) = [ϕ(t i , x 1 , . . . , x n ) − y i ]2
X
(5.1)
i =1
unde
t=0:5
y=2*exp(-t)
function y=f1(x,t)
y=x(1)*exp(x(2)*t);
endfunction
function u=fct(x,t,y)
getf("e:\scilab\f1.sce", "c");
u=f1(x,t)-y;
endfunctiont
Rezolvarea este
x=[2.5,-0.5];
[fopt,xopt,gopt]=leastsq(list(fct,t’,y’),x)
gopt =
0. 0.
xopt =
2. - 1.
fopt =
0.
function u=dfct1(x,t,y)
s=exp(x(2)*t);
u=[s,x(1).*t.*s];
endfunctiont
36 CAPITOLUL 5. METODA CELOR MAI MICI PĂTRATE
unde
function [t,y]=data(m)
t=1:m;
y=2*exp(-t);
endfunction
function y=fctlm(x,m)
getf("e:\scilab\data.sce",’c’);
getf("e:\scilab\f1.sce",’c’);
[t,y]=data(m);
y=f1(x,t)-y;
endfunction
şi
x=[2.5,-0.5]
[xopt,v]=lsqrsolve(x,fctlm,6)
v =
1.0D-16 *
1.110223
0.5551115
0.2775558
0.0693889
37
0.0346945
0.0086736
xopt =
2. - 1.
Capitolul 6
Integrare numerică
Cap. 5 Cap. 7
unde : [a, b] → R este o funcţie continuă, Scilab oferă mai multe programe:
38
6.1. INTEGRAREA FUNCŢIILOR DE O VARIABILĂ REALĂ 39
Rezolvările sunt:
1.
I=integrate(’16*x.^15’,’x’,0,1)
I=
1.
2.
deff(’y=f(x)’,’y=16*x.^15’)
[x,err]=intg(a,b,f)
err=
1.110 E-14
x=
1.
40 CAPITOLUL 6. INTEGRARE NUMERICĂ
2.
Dacă f (x, p 1 , p 2 , . . .) este o funcţie Scilab având pe prima poziţie variabila de integrare
atunci
intg(a,b,list( f , p 1 , p 2 , . . .))
calculează integrala
Z b
f (x, p 1 , p 2 , . . .)dx
a
integrala ZZ
f c t (x, y)dxdy
D
• er – indicatorul de răspuns:
function [y,er]=integr(cale,tol)
getf(cale+’\datas.sci’,’c’)
getf(cale+’\init.sci’,’c’)
getf(cale+’\finf.sci’,’c’)
getf(cale+’\fsup.sci’,’c’)
getf(cale+’\fct.sci’,’c’)
getf(cale+’\tab.sci’,’c’)
getf(cale+’\prodscal.sci’,’c’)
getf(cale+’\integ2.sci’,’c’)
n=3;
u=init(n);
old=integ2(u);
nmi=10;
cont=0;
ni=0;
while cont==0 do
ni=ni+1;
v=tab(u);
new=integ2(v);
nrm=abs(new-old);
old=new;
u=v;
if nrm<tol,
cont=1;
er=0;
else
er=1;
if ni==nmi,cont=1;,end,
end
end
y=new;
endfunction
function u=init(n)
[a,b]=datas();
hx=(b-a)/n;
u=zeros(n+1,n+1);
for j=1:n+1,
x=a+(j-1)*hx;
fi=finf(x);
fs=fsup(x);
hy=(fs-fi)/n;
42 CAPITOLUL 6. INTEGRARE NUMERICĂ
for i=1:n+1,
y=fi+(i-1)*hy;
u(i,j)=fct(x,y);
end
end
endfunction
function v=tab(u)
[a,b]=datas()
[m,n]=size(u);
hx=(b-a)/(n-1);
for j=1:n,
for i=1:m,
v(2*i-1,2*j-1)=u(i,j);
end
x=a+(j-1)*hx;
fi=finf(x);
fs=fsup(x);
hy=(fs-fi)/(m-1);
for i=1:m-1,
y=fi+hy*(i-0.5);
v(2*i,2*j-1)=fct(x,y);
end
end
for j=1:m-1,
x=a+(j-0.5)*hx;
fi=finf(x);
fs=fsup(x);
hy=(fs-fi)/(m-1)/2;
for i=1:2*n-1,
y=fi+hy*(i-1);
v(i,2*j)=fct(x,y);
end
end
endfunction
function z=integ2(u)
[a,b]=datas()
[m,n]=size(u);
hx=(b-a)/(n-1);
w=zeros(1,n);
c=ones(1,n);
6.2. CALCULUL NUMERIC AL INTEGRALELOR DUBLE 43
if n==3,
c(2)=4;
else
n0=(n-1)/2;
for j=1:n0,
c(2*j)=4;
end
for j=1:n0-1,
c(2*j+1)=2;
end
end
for j=1:n,
x=a+(j-1)*hx;
fi=finf(x);
fs=fsup(x);
hy=(fs-fi)/(m-1);
w(j)=prodscal(c,u(:,j))*hy/3;
end
z=prodscal(c,w)*hx/3;
endfunction
function e=prodscal(x,y)
[m,n]=size(x);
e=0;
for i=1:n,
e=e+x(i)*y(i);,
end
endfunction
function [a,b]=datas()
a=0;
b=1;
endfunction
44 CAPITOLUL 6. INTEGRARE NUMERICĂ
function z=fct(x,y);
z=x*y;
endfunction
function y=finf(x)
y=x.*x;
endfunction
function y=fsup(x)
y=sqrt(x);
endfunction
getf(’c:\lucru\scilab\integr.sci’,’c’)
[y,er]=integr(’c:\lucru\scilab’,1.e-6)
er=
0.
y=
.0833333
Part II
MathCAD
45
Capitolul 7
Prezentare generală
Cap. 6 Cap. 8
46
7.1. EFECTUAREA CALCULELOR NUMERICE 47
Exemplul 7.1
a := 1
f (x) := 1 − x 2
Exemplul 7.2
x := 3 x =3
h(x) := 5x 3 − 2 h(0) = −2
7 + 3 · x = 14
48 CAPITOLUL 7. PREZENTARE GENERALĂ
• litere latine mari şi mici; se face distincţie între literele mari şi mici;
Exemplul 7.3
a1_2 α _i nd %p
_pr esi unea ∞const a .bcd a‘b
• TOL a cărei valoare implicită este 0.001 şi care reprezintă toleranţa utilizată în
testele de convergenţa.
• CTOL a cărei valoare implicită este 0.001 şi care reprezintă toleranţa de constrân-
gere şi care controlează restricţiile din cadrul unui bloc de rezolvare a sistemelor
de ecuaţii.
x := 0.5 y := x 2 − 3 · x + 2
Rezultatul se obţine tastând y, =.
y = 0.75
O constantă numerică întreagă se poate defini în baza 10, 8 sau 16. Dacă reprezentarea
se face în baza 8, numărul va fi urmat de de litera o sau O(de exemplu 15o), iar în
cazul bazei hexazecimale numărul va fi urmat de litera h sau H(de exemplu A1Eh).
Pentru a defini o constantă complexă se utilizează forma algebrică a + bi . În locul
lui i se poate folosi ca unitate imaginară şi j. Pentru a defini unitatea imaginară se
tastează 1i sau 1j.
Operatorii algebrici uzuali sunt
val_următoare - val_iniţială.
x=
0
0.9
1.8
2.7
3.6
Dacă în sintaxa de definire a unei variabile de tip domeniu lipsesc virgula şi val_următoare,
raţia progresiei aritmetice este
sgn(val_finală-val_initială).
Exemplul 7.6 Şirurile i := 0.5..3 şi j := 5..2.5 definesc următoarele progresiile arit-
metice
i= j=
0.5 5
1.5 4
2.5 3
3. Variabilă indice
O variabilă domeniu ale cărei valori sunt numere naturale consecutive se numeşte
variabilă indice.
Exemplul 7.7 Pentru a defini un indice k ale cărui valori să fie succesiv 2, 3, 4, 5, se
editează k : 2 ; 5 rezultând k := 2..5
4. Şir
Prin intermediul unei variabile indice se poate defini un şir oarecare prin sintaxa:
variabila_sir v ar i abi l a _i nd i ce := expresie.
Pentru a scrie indicele, după numele variabilei de tip sir se tastează [ .
x k := k 2
Vizualizăm rezultatul prin
0
xk =
0
4
4
x = sau 9
9
16
16
25
25
Şirul astfel obţinut conţine pe primele două poziţii valoarea 0 deoarece respec-
tivele poziţii nu au fost definite.
Funcţii uzuale aplicabile unui şir a = (a i )i ∈I
Apelare Semnificaţie
length(a) Numărul elementelor şirului
last(a) Indicele ultimului element
max(a) Cel mai mare element al şirului
min(a) Cel mai mic element al şirului
|a| Norma euclidiană a şirului
Exemplul 7.9
52 CAPITOLUL 7. PREZENTARE GENERALĂ
Dacă
j
i := 0..3 j := 0..3 X i , j := i 2 +
2
atunci se obţine
0 0.5 1 1.5
1 1.5 2 2.5
X =
4 4.5 5 5.5
9 9.5 10 10.5
Exemplul 7.10
Dacă µ ¶
1 3
A :=
2 4
atunci
A 0,0 = 1 A 0,1 = 3 A 1,0 = 2 A 1,1 = 4
Exemplul 7.11
Fie µ ¶ µ ¶
1 1 0
u <0> = A=
2 2 −1
obţinând
µ ¶ µ ¶
<4> 1 <5> 1
u = u =
2 0
iar µ ¶
1 1 1 1 1 1
u=
2 0 2 0 2 0
u 1,4 = 2 u 0,4 = 1
Apelare Semnificaţie
rows(A) Numărul liniilor matricei
cols(A) Numărul coloanelor matricei
tr(A) urma matricei
AT transpusa matricei
|A| determinantul matricei
A −1 inversa matricei
rank(A) rangul matricei
P
norm1(A) norma Minkovski, max j i |a i , j |
q
norm2(A) norma euclidiană, max eigenvals(a T · a)
qP
2
norme(A) norma Frobenius, i , j ai , j
P
normi(A) norma Cebîşev, maxi j |a i , j |
6. Funcţii
MathCAD posedă o bogată familie de funcţii predefinite şi oferă posibilitatea definirii
de funcţii noi conform sintaxei
numeFunctie(ar g 1 , ar g 2 , . . .) := expresie
Funcţii numerice uzuale aplicabile aplicabile unui număr real sau complex x
54 CAPITOLUL 7. PREZENTARE GENERALĂ
Apelare Semnificaţie
sin(x) sin x
cos(x) cos x
tan(x) tgx
cot(x) ctgx
asin(x) arcsin(x)
acos(x) arccos(x)
atan(x) arctg(x)
sinh(x) shx
cosh(x) chx
tanh(x) thx
asinh(x) arcsh(x)
acosh(x) arcch(x)
atanh(x) arcth(x)
exp(x) ex
log(x) lg(x)
ln(x) ln(x)
7.1.5 Vectorizare
Să presupunem că o funcţie f (x, y) trebuie aplicată succesiv unui sistem de variabile
(x i , y i )1≤i ≤n , obţinând z i = f (x i , y i ), i ∈ {1, 2, . . . , n}.. MathCAD oferă posibilitatea efec-
tuării acestor calcule prin vectorizare, un procedeu care este multmai rapid decât prin
folosirea indecşilor. Sintaxa utilizată este
x1 y1
. . −−−−→
x := .. y := .. z = f (x, y)
xn yn
Operatorul de vectorizare se obţine tastând Crtl + - fie din paleta Matrix cu cur-
sorul MathCAD plasat pe relaţia de calcul.
Formulele
−−−−−−
p−−−−−−−−−→ −−−−−−
p−−−−−−−−−→
−b + b 2 − 4 · a · c −b − b 2 − 4 · a · c
x := y :=
2·a 2·a
7.1. EFECTUAREA CALCULELOR NUMERICE 55
produc rezultatele
−1 −2
−1 −1
x = y =
−0.5 + 0.866i −0.5 − 0.866i
2i −2i
Exemplul 7.13 Să se calculeze mărimea forţei ce acţionează asupra unui corp de masa 5
kg şi căreia îi imprimă o acceleratie de 2 m
s2
.
m
masa := 5 · kg acc := 2 · F := masa · acc
s2
F = 10N
Transformarea unităţilor
Pentru transformarea unei mărimi dintr-un sistem în altul este suficientă cunoaşterea
notaţiilor unităţilor respective în cele două sisteme. Transformarea se face prin:
1 · m = 1 × 103 mm
Exemplul 7.14
1
g := · kg 3 · kg = 3 × 103 g
1000
mi n := 60 · s h := 60 · mi n 1 · h = 3.6 × 103 s
• Contur Plot – Reprezentare prin linii de nivel Comanda se poate da şi prin combi-
naţia de taste Ctrl+5.
• 3D Bar Plot
• 3D Scatter Plot
Reprezentarea grafică 2D în
coordonate carteziane
Să presupunem că dorim să reprezentam funcţia x → f (x). După definirea funcţiei,
în urma comenzii de realizare a reprezentării grafice apare un cadru cu două poziţii mar-
cate, care se completeză cu x (pe axa orizontală) şi respectiv f (x) (pe axa verticală). În
cadru apar, corespunzător fiecărei axe, alte două poziţii marcate, pentru fixarea inter-
valelor. Completarea acestor poziţii marcate este opţională. Un clic în afara cadrului sau
Enter declanşează realizarea reprezentării grafice.
f (x)
f (x),
g (x),
h(y)
x, x, y
Reprezentarea grafică 2D în
coordonate polare
Dacă curba are ecuaţia polară r = r (t ) atunci în urma comenzii de realizare a reprezen-
tării grafice apare un cadru cu două poziţii marcate, care se completeză cu t şi respectiv
r (t ). În cadru apar alte două poziţii marcate, pentru fixarea intervalului în care variază t ..
Completarea acestor poziţii marcate este opţională. Un clic în afara cadrului sau Enter
declanşează realizarea reprezentării grafice.
58 CAPITOLUL 7. PREZENTARE GENERALĂ
'$ '$
r (t )
&% &%
t
Formatarea graficelor 2D
MathCAD realizează reprezentările grafice cu o serie de parametri impliciţi. Aceste
setări pot fi schimbate de utilizator şi de asemenea se pot adăuga titluri şi etichete. Pen-
tru a formata o zonă grafică se execută dublu clic pe zona respectivă sau se selectează
zona grafică şi apoi din meniul Format/Graph/X-Y Plot sau Polar Plot. În urma acţi-
unii executate se deschide o fereastră de dialog prin intermediul căreia se poate modifica
• Culoarea de desenare.
Reprezentare grafică 3D în
coordonate carteziene
O animaţie creată poate fi salvată ca fişier .avi şi poate fi vizualizat şi independent de
MathCAD. Pentru aceasta se selectează butonul Save as din cadrul căsuţei de dialog.
Pentru a rula în MathCAD un fişier avi existent din meniul Tools/Animation se alege
opţiunea Playback.
Exemplul 7.15 În intervalul [−1, 1], să se transforme graficul funcţiei g (x) = x în f (x) =
x 2 prin efectul "morphing".
Astfel definim
F R AM E F R AM E
h(x) := · f (x) + (1 − ) · g (x)
M axF R AM E M axF R AM E
a := −1 b := 1
şi construim graficul funcţiei h(x)(F R AM E = 0!). Efectuăm operaţiile menţionate mai
sus şi obţinem rezultatele din Fig. 7.2.
A := RE ADP R N (fişier)
• WRITEPRN(fişier ) scrie o matrice într-un fişier. Fiecare linie a matricei devine linie
în fişierul specificat. Modalitatea de apel a funcţiei este:
W R I T E P R N (fişier) := A
AP PE N DP R N (fişier) := A
În toate cazurile de mai sus, fişier este un string care identifică fişierul
volum:\cale\numeFişier.extensie.
Amintim posibilitatea inserării în MathCAD de componente MSOffice, dar şi pentru
alte produse informatice.
Pentru a putea aplica comenzile meniului Symbolic trebuie să selectăm varia-bila
sau expresia asupra căreia are loc acţiunea.
Selectarea unui element se obţine prin clic asupra elementului sau utilizând tas-
tatura, cu ajutorul tastelor direcţionale poziţionăm cursorul pe elementul dorit. Elemen-
tul selecţionat este încadrat. Cu ajutorul tastei Space o zona selectată se poate extinde şi
restrânge iar cu tastele direcţionale selecţia se poate muta de pe un termen / operand pe
altul.
Pentru acţionarea comenzilor meniului Symbolic se procedează după cum urmează:
3. Se selectează comanda dorită din meniul Symbolic şi se lansează în execuţie prin
clic sau tastând Enter.
62 CAPITOLUL 7. PREZENTARE GENERALĂ
Posibilitatea de a crea noi funcţii împreună cu operaţia de compunere fac din pro-
gramarea funcţională modul natural de lucru în MathCAD.
Pentru programarea unui test de decizie se poate folosi operatorul de control if(
cond , exp 1 , exp 2 ). Dacă expresia cond este adevărată atunci valoarea returnată de op-
erator este exp 1 iar în caz contrar exp 2 . cond este o expresie logică.
În MathCAD orce valoare nenulă reprezintă valoarea logică adevărat şi 0 reprezintă
valoarea logică fals.
Operatorii relaţionali şi operatorii logici se pot obţine prin paleta Boolean sau tastând
7.8. ELEMENTE DE PROGRAMARE PROCEDURALĂ 63
Exemplul 7.16 Să se calculeze limita şirului (a n )n∈N definită prin formula de recurenţă
p p
a n+1 = an + 2 a0 = 2
if
1. expresia care se obţine dacă condiţia este adevărată (poziţia marcată din stânga);
2. condiţia instrucţiunii if (poziţia marcată din dreapta).
Dacă prima poziţie marcată se extinde cu o linie atunci schema grafică devine
if
°
°
°
°
ot her wi se
on er r or
1
f (x) := ∞ on er r or
x
se obţine
f (1) = 1 f (0) := 1 · 10307
Ultima valoare este cel mai mare număr cu care operează MathCAD.
• while şi for reprezintă instrucţiunile de ciclare cu test iniţial şi respectiv cu contor.
Selectând instrucţiunea while, poziţia marcată de cursorul MathCAD devine
whi l e
1. indicele ciclului;
2. intervalul în care variază indicele;
3. instrucţiunile buclei.
r et ur n
Bineînţeles, într-un program MathCAD se poate utiliza întreaga familie de funcţii nu-
merice ale produsului.
Exemplificăm posibilităţile oferite prin calculul şirului primelor N numere prime
(7.5).
7.8. ELEMENTE DE PROGRAMARE PROCEDURALĂ 67
Cap. 7 Cap. 9
M:=lu(A)
P:=submatrix(M,0,3,0,3)
L:=submatrix(M,0,3,4,7)
U:=submatrix(M,0,3,8,11)
70
8.2. REZOLVAREA SISTEMELOR ALGEBRICE DE ECUAŢII LINIARE 71
0 0 0 1 1 0 0 0 4 1 2 3
0 0 1 0
L = 0.75 1 0 0
U = 0 3.25 −0.5 −0.25
P =
0
1 0 0 0.5 0.769 1 0 0 0 3.385 −0.308
1 0 0 0 0.25 0.538 0.818 1 0 0 0 3.636
6 6 1
X = 3 6 1
2 1 1
M:=qr(X)
Q:=submatrix(M,0,2,0,2)
P:=submatrix(M,0,2,3,5)
0.857 0.286 0.429 7 8 1.571
2
1
|A| = 160 x := A −1 · b x =
1
1
Acelaşi rezultat se obţine şi prin
2
1
x := l sol ve(A, b) x =
1
1
Cap. 8 Cap. 10
x1 f 1 (x 1 , . . . , x n )
. ..
x = .. f (x) =
.
xn f n (x 1 , . . . , x n )
MathCAD oferă două funcţii: find şi minerr. Pentru găsirea unei soluţii este nece-
sară precizarea unei aproximaţii iniţiale. Pornind de la această aproximaţie MathCAD
construieşte prin intermediul unui proces iterativ noi aproximaţii ale soluţiei. Dacă val-
orile aproximaţiei iniţiale nu sunt alese din domeniul de convergenţă procesul iterativ
73
74 CAPITOLUL 9. SISTEME ŞI ECUAŢII ALGEBRICE
diverge. Astfel, alegerea aproximaţiei iniţiale poate reprezenta în anumite cazuri partea
cea mai dificilă din rezolvarea problemei.
Rezolvarea unui sistem algebric de ecuaţii neliniare constă în construirea unui bloc
de rezolvare care trebuie să conţină cuvântul cheie given şi una din funcţiile find, re-
spectiv minerr. Cuvântul cheie given trebuie să preceadă în blocul de rezolvare ecuaţiile
sistemului.
x 12
10x 1 + − 2x 2 x 3 − 0.1 = 0
10x 2 + x 22 − 2x 1 x 3 + 0.2 = 0
x 32
10x 3 + − 2x 1 x 2 − 0.3 = 0
x := 0 y := 0 z := 0
given
10 · x + y 2 − 2 · y · z − 0.1=0
10 · y + y 2 − 2 · x · z + 0.2=0
10 · z + z 2 − 2 · x · y − 0.3=0
9.841 × 10−3
find(x, y, z) = −0.02
0.03
Semnul "egal" scris între cei doi membrii ai fiecărei ecuaţii se obţine prin apăsarea si-
multană a tastelor Ctrl şi simbolul =. Algoritmul pentru funcţia find implică un proces
special de rezolvare în care metoda este aleasă dintr-un grup de metode pe care progra-
mul le pune la dispoziţie. Alegerea unei metode se face apăsând butonul din dreapta
mouse-ului pe numele funcţiei find şi apoi prin selectarea unei opţiuni din meniul de
rezolvare a sistemului. De aici se poate alege opţiunea AutoSelect prin intermediul căreia
MathCAD va face o alegere automată a metodei de rezolvare a sistemului în funcţie de
caz (sistem liniar, neliniar, sau problemă de programare neliniară). Pentru cazul neliniar
există trei metode care pot fi alese:
2. metoda Levenberg-Marquardt,
3. metoda quasi-Newton.
9.2. REZOLVAREA ECUAŢIILOR ALGEBRICE 75
f (x) := 2x − x 2
α := −0.5
Exemplul 9.3
f (x) := 2x − x 2
r oot ( f (x), x, −1, −0.5) = −0.767
Implicit, polyroots găseşte rădăcinile ecuaţiei polinomiale utilizând metoda lui Laguerre.
Dacă se doreşte rezolvarea ecuaţiei polinomiale prin intermediul metodei matricei com-
panion, atunci se apasă butonul din dreapta mouse-ului pe numele funcţiei şi din me-
niul respectiv se alege metoda de rezolvare dorit.
p = 2x 4 + 7x 3 − 2x 2 − 13x + 6.
Rezolvarea este:
6
−3
−13
−2
v := −2 pol yr oot s(v) =
0.5
7
1
2
Capitolul 10
Rezolvarea problemelor de
interpolare
Cap. 9 Cap. 11
Valoarea acestui polinom este calculată prin intermediul funcţiei din Fig. 10.1
Semnificaţia parametrilor funcţiei L(x, v x, v y) este:
77
78 CAPITOLUL 10. REZOLVAREA PROBLEMELOR DE INTERPOLARE
f (x) = x 2
xi = i , i ∈ {0, 1, . . . , 5}
z = 0.5, 3, 5, 10
Rezolvarea este:
f (x) := x 2 n := 5 i := 0..n
0.5
v x i := i v y i := f (v x i ) z := 3.5
10
0.25
L(z, v x, v y) = 12.25
100
unde
y = i nt er p(c, v x, v y, x)
Exemplul 10.2 Să se calculeze valorile funcţiei spline cubice de interpolare în punctele
0.5, 3.5, 10 pentru
f (x) = x3
xi = i, i ∈ {0, 1, ..., 5}
Rezolvare este:
f (x) := x 3 n := 5 i := 0..n
0.5
x i := i y i := f (x i ) z := 3.5
10
0.125
Cap. 10 Cap. 12
Determinarea unui polinom de aproximare construit prin metoda celor mai mici pă-
trate de grad m pentru datele (x i , y i )1≤i ≤n (m << n) se obţine cu ajutorul funcţlor Math-
CAD regress şi interp.
Funcţia c = regress(vx,vy,k) returnează un vector c utilizat de funcţia y = interp(c,vx,vy,x),
ce calculează valoarea polinomului de aproximare de grad k a datelor (v x i , v y i )i în x. Ul-
timele k + 1 componente ale vectorului c conţin coeficienţii polinomului de aproximare
construit prin metoda celor mai mici pătrate.
Exemplul 11.1 Să se calculeze polinoamele de aproximare de grad unu şi doi, constituite
prin metoda celor mai mici pătrate, pentru datele (x i , y i )0≤i ≤20 unde x i = −2+0.2i , y i =
f (x i ), f (x) = |x|. Să se reprezinte grafic funcţiile astfel obţinute.
Din 11.1 deducem polinomele de aproximare construite prin metoda celor mai mici
pătrate de gradul 1 şi respectiv 2:
81
82 CAPITOLUL 11. METODA CELOR MAI MICI PĂTRATE
Integrare numerică
Cap. 11
• funcţia de integrat,
Integrarea se face în raport cu o singură variabilă, iar funcţia poate fi de mai multe vari-
abile. Restul parametrilor în afara variabilei de integrare vor fi consideraţi constante şi
în consecinţă vor trebui să fie definiţi în prealabil. În mod implicit integrala se evaluează
83
84 CAPITOLUL 12. INTEGRARE NUMERICĂ
numeric pe baza unei metode alese de AutoSelect. Dacă se doreşte evaluarea integralei
printr-o anumită metodă, se execută clic dreapta pe simbolul integralei, se deselectează
opţiunea AutoSelect şi se alege una dim metodele pe care MathCAD le pune la dispoziţie:
• Romberg,
• Adaptive,
• Infinite Limit,
• Singular Endpoint.
Parametrul utilizat în testele de precizie este TOL şi are valoarea implicită 0.001.
Rezolvare:
1. Z 3
T OL ≡ 10−6 x 2 · e x dx = 97.709
1
2. π
sin(x)
Z
2
T OL ≡ 10−9 dx = 1.371
0 x
unde
D = {(x, y) : a ≤ x ≤ b, f i n f (x) ≤ y ≤ f sup(x)}.
Calcularea integralei constă în transformarea acesteia în integrale iterate, de exemplu
Z b Z f sup(x)
f (x, y)dydx.
a f i n f (x)
RR
Exemplul 12.2 Să se calculeze D x yd xd y unde domeniul D este delimitat de curbele
p
y = x 2 şi y = x.
12.2. CALCULUL NUMERIC AL INTEGRALELOR DUBLE 85
p
Reprezentând grafic domeniul de integrare, deducem f i n f (x) = x 2 , f sup(x) = x, a =
0, b = 1.
p
Z 1Z x
x · ydydx = 0.0833.
0 x2
Part III
CULEGERE DE PROBLEME
86
Capitolul 13
10 6 −2 1
10 10 −5 0
1.
−2 2 −2 1
1 3 −2 3
5 3
−11
2. 4 −5 4
3 −13 19
2 −1 3 4
4 −2 5 6
3.
6 −3 7 8
8 −4 9 10
1 1 0 0 0 0
1 2 1 0 0 0
0 1 3 1 0 0
4.
0 0 1 4 1 0
0 0 0 1 5 1
7
0 0 0 0 1 33
87
88 CAPITOLUL 13. METODE NUMERICE ÎN ALGEBRA LINIARĂ
4 5 2
1. 3 0 3
0 4 6
2 1 3
2. 1 3 1
2 8 5
3 4 7 −2
5 4 9 3
3.
1 −1 0 3
1 −1 0 0
x + y + z + t = 4
2x + 2z + t = 4
6.
−2x + 2y − t = 4
3x + y − z = 0
2x 1 + 3x 2 + 2x 3 + x4 = 2
x
1 + x2 + 3x 3 + 2x 4 = 6
7.
−3x 1 + 2x 2 − x3 − x4 = 0
x
1 − x2 + x3 + 3x 4 = 6
x + y + z + t = 2
2y + 2z + t = 2
8.
−2x + 2y − t = 2
3x + y − z = 2
x + y + 2z + 3t = 2
3x − y − 4z − 6t = 0
9.
2x + 3y − 6z − 9t = −7
x − 2y + 8z − 12t = 3
x + y + z − 2t + 7u = 10
2x + 5z − 2u = 32
10. 3x + y − t = 1
2y − 5z + u = −39
x − y + 3t = 7
2x + 3y − z + t = 5
x − y + 2z − 2t = −5
11.
3x + y + 2z − 2t = −3
−3x − y − 2z + 2t = 3
x + 2y + 3z + 4t = 30
2x − 3y + 5z − 2t = 3
12.
3x + 4y − 2z − t = 1
4x − y + 6z − 3t = 8
x + 2y + 3z − 2t = 6
2x − y − 2z − 3t = 8
13.
3x + 2y − z + 2t = 4
2x − 3y + 2z + t = −8
2x − y + z − t = 1
2x − y − 3t = 2
14.
3x − y + t = −3
2x + 2y − 2z + 5t = −6
90 CAPITOLUL 13. METODE NUMERICE ÎN ALGEBRA LINIARĂ
x + 2y + 3z + 4t + 5u = 13
2x
+ y + 2z + 3t + 4u = 10
15. 2x + 2y + z + 2t + 3u = 11
2x + 2y + 2z + t + 2u = 6
2x + 2y + 2z + 2t + u = 3
x + 2y − 3z + 4t − u = −1
2x
− y + 3z − 4t + 2u = 8
16. 3x + y − z + 2t − u = 3
4x + 3y + 4z + 2t + 2u = −2
x − y − z + 2t − 3u = −3
x + y + z + t = 10
x + y − z + 2t = −8
17.
5x
+ 5y − z − 4t = −4
x + y + 3z + 4t = 28
Capitolul 14
1. x 6 − 2x 5 + x 3 − 6x + 6 = 0
2. 2x 6 − x 5 − 5x 4 + 2x 3 + 20x 2 − 9x − 9 = 0
4. x 5 − x 4 − 2x 3 + 4x 2 − 4 = 0
5. x 5 − 4x 4 − 9x 3 + 18x 2 + 14x − 20 = 0
6. x 6 − 5x 5 + 5x 4 − 2x 3 + 13x 2 + 3x + 9 = 0
8. x 6 − 6x 5 + 8x 4 + 3x 3 − 16x 2 + 18x − 8 = 0
9. x 5 − 3x 4 + 2x 3 − x 2 + 5x − 2 = 0
10. x 5 − 4x 3 − 8x 2 + 32 = 0
11. 2x 5 − 6x 4 + 2x 3 − 6x 2 + 2x − 6 = 0
12. x 5 + 5x 4 + 5x 3 − 5x 2 − 30x + 24 = 0
13. x 6 + 4x 5 + x 4 − 2x 3 + x 2 − 20x + 6 = 0
14. x 6 − 7x 5 + 14x 4 − 8x 3 − x 2 + 3x − 2 = 0
91
92 CAPITOLUL 14. SISTEME ŞI ECUAŢII ALGEBRICE
1. 2x − ln x − 4 = 0
2. ln (8x) − 9x + 3 = 0
3. x − 2 cos x = 0 = 0
4. 0.5e −0.6x − x = 0
1
5. ln x = x
6. ln x = x 2 − 1
7. x 2 − 2 cos x = 0
8. x ln x − 14 = 0
9. x x + 2x − 6 = 0
10. e x + e −3x − 4 = 0
11. ln 7x − 8x + 1 = 0
12. e −0.5x − x = 0
III. Să se rezolve sistemele algebrice de ecuaţii neliniare (se va utiliza atât funcţia
Scilab fsolve cât şi ode) :
2x 3 − y 2 − 1 = 0
½
1.
x y3 − y − 4 = 0
93
x2 − y = 0
½
2.
x(y + 1) = 0
tan(x y) = x 2
½
3.
0.5x 2 + 2y 2 = 1
y
e −x = x 2 − y + 1
½
4.
(x + 0.5)2 + y 2 = 0.6
x 3 + y 3 − 6x + 3 = 0
½
5.
x 3 − y 3 − 6y + 2 = 0
x2 + y 2 − 1 = 0
½
6.
x3 − y = 0
2x 2 − x y − 5x + 1 = 0
½
7.
x + 3 ln x − y 2 = 0
2x 2 − x y − y 2 + 2x − 2y + 6 = 0
½
8.
y −x −1 = 0
x3 − y 2 − 1 = 0
½
9.
x y3 − y − 4 = 0
x 3 + sin 3x − y = 0
½
10.
4x 2 + y 2 − 4e −x = 0
½
sin(x) − y = 1.32
11.
cos(y) − x = −0.85
x + 3 ln x − y 2 = 0
½
12.
2x 2 − x y − 5x + 1 = 0
2
x + x − 2y z − 0.1 = 0
13. y − y 2 + 3xz + 0.2 = 0
z − z 2 + 2x y − 0.3 = 0
½
x + tan(x y) = 0
14.
(y 2 − 7.5)2 + ln x = 0
x3 − y + 1 = 0
½
15.
0.25x 2 + y 2 − 1 = 0
94 CAPITOLUL 14. SISTEME ŞI ECUAŢII ALGEBRICE
½
sin(x + 0.4) + 3.5y − 1.5 = 0
16.
cos(y + 0.2) + 0.5x = 0
½
tan(x) − cos(1.5y) = 0
17.
2y 3 − x 2 − 4x − 3 = 0
3x 2 + 14y 2 − 1 = 0
½
18.
sin(3x + 0.1y) + x = 0
1 + x 2 − y 2 + e x cos y = 0
½
x 0 = −1
19.
2x y + e x sin y = 0 y0 = 4
sin x + cos y + e x y = 0
½
20.
arctan (x + y) − x y = 0
Capitolul 15
Probleme de interpolare
f (x) = x 3 − 5x 2 + x − 1
1. x i = 2i + 1, i ∈ {0, 1, 2, 3, 4, 5}
z =4
f (x) = x 4 − 10x 3 + 2x 2 + 3x + 1
2. x i = 1 + i , i ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
z = 11
f (x) = lg(x)
3. x i = e i , i ∈ {0, 1, 2, 3, 4, 5}
z = 1.7
f (x) = e x
4. x i = −3 + i , i ∈ {0, 1, 2, 3, 4, 5, 6}
z = 1.5
95
96 CAPITOLUL 15. PROBLEME DE INTERPOLARE
2
f (x) = x x+1
8 x i = 1 + 5i , i ∈ {0, 1, 2, 3, 4, 5}
z = 0.3, z = 3.5
II. Să se calcueze valoarea funcţiei spline cubice de interpolare pentru datele prob-
lemei 1.
Capitolul 16
I. Să se calculeze polinoamele de aproximare de grad unu, doi si trei constituite prin
metoda celor mai mici pătrate pentru datele Problemei 1 din capitolul Interpolare.
II. Să se calculeze funcţiile de aproximare constituite prin metoda celor mai mici
pătrate pentru metoda Gauss-Newton de forma şi datele indicate (t = 0 : 9):
97
Capitolul 17
Integrare numerică
R1 Rπ
1. x 2 e x dx 2. x 2 cos xdx
0 0
R5 p R2
3. x 2 − 9dx 4. x 2 ln xdx
4 1
π π
R4 2
R2 sin 2x
5. x tan xdx 6. 1+sin2 x
dx
0 0
R2 p R1 2
7. 4x − x 2 dx 8 arcsin xx 2 −1
+1
dx
0 0
π
Rπ 2
R2 1+sin 2x+cos 2x
9. cos x cos 4xdx 10. sin x+cos x dx
0 π
6
R1 p R1
p 2x dx
2
11. x3 1 + e x dx 12. 2
−1 0 3+4x
p π
R3 1
R4 tan x
13. arctan x dx 14. p dx
p 1+ 2 cos x
3 0
3
98
99
x2
D : y = x1 ; y = x; x = 1; x = 2.
RR
2. y2
dxdy
D
x
D : y = x; y = (x − 1)2 .
RR
3. x 2 +y 2
dxdy
D
RR p
4. 4x 2 − y 2 dxdy D : y = x; y = 0; x = 1.
D
p 1 p dxdy D : x = 1, y = 0, x − y = 21 .
RR
5. x+ y
D
2x
RR
6. p dxdy D : y = x, x = 0, y = 1.
D 1+y 4 −x 4
(x 2 y D : x ≥ 0, y ≥ 0, x 2 + y 2 = 1.
RR p
7. 1 − x 2 − y 2 dxdy
D
RR p
8. x y − y 2 dxdy D este triunghiul cu vârfurile
D
O(0, 0), A(10, 1), B (1, 1).
Bibliografie
[1] BLAGA P., COMAN GH., POP S., TRÂMBIŢAŞ R., VASARU D., 1994, Analiză numer-
ică. Îndrumar de laborator. Univ. "Babeş–Bolyai" Cluj-Napoca (litografiat).
[2] CIRA O., MĂRUŞTER Ş., 2008, Metode numerice pentru ecuaţii neliniare. Ed.
Matrix-Rom, Bucureşti.
[3] CURTEANU S., 2001, Calculul numeric şi simbolic în Mathcad. Ed. Matrix-Rom,
Bucureşti.
[4] DINU M., LINCĂ Gh., 1999, Algoritmi şi teme speciale de analiză numerică. Ed.
Matrix rom, Bucureşti.
[5] GAVRILĂ C., 2007, SCILAB Aplicaţii, Modele şi simulare Scicos Ed. Matrix-Rom, Bu-
cureşti.
[6] KINCAID D., CHENEY W., 1991, Numerical Analysis. Brooks / Cole, Pacific Grove,
Ca.
[7] MARINESCU GH., BADEA L., GRIGORE G., JAMBOR C., MAZILU P., RIZZOLI I.,
ŞTEFAN C., 1978, Probleme de analiză numerică. E.D.P., Bucureşti.
[8] MARINESCU GH., RIZZOLI I., POPESCU I., ŞTEFAN C., 1987, Probleme de analiză
numerică rezolvate cu calculatorul. Ed. Acad. R.S.R., Bucureşti.
[9] MARTIN O., 1998, Probleme de analiză numerică. Ed. Matrix rom, Bucureşti.
[11] SCHEIBER E., LIXĂNDROIU D., CISMAŞIU C., 1982, Analiză numerică. Îndrumar
de laborator. Univ. Braşov (litografiat).
[12] SCHEIBER E., SÂNGEORZAN L., GROVU M., 1993, Analiză numerică. Îndrumar de
laborator. Univ. "Transilvania" Braşov (litografiat).
100