Laborator - Metode - Numerice - Colocviu - Laborator - Cunosti Nte - Necesare - Minime PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

LABORATOR METODE NUMERICE

COLOCVIU LABORATOR CUNOSTINTE NECESARE MINIME


1 ora / Saptamana (1 Lab. / 2 Saptamani)
1. Introducere in MATLAB (Lucrarea de laborator nr. 1 in indrumar)
Cunostinte despre ferestrele de lucru MATLAB:
- Fereasta comanda locul unde se dau comenzi si MATLAB afiseaza rezultatul
- Fereastra de editare locul unde se creaza, editeaza scripturi sau functii
- Fereastra grafica locul unde se afiseaza graficele si unde se pot edita interactiv
- Workspace, History, Current folder
Definirea matricelor:
>> a=[1 3 4 5;2 3 4 5;5 4 3 2;7 6 5 4]
a=
1 3 4 5
2 3 4 5
5 4 3 2
7 6 5 4
Definirea unei matrice linie (vector linie):
>> b=[2 4 5 3 6 7]
b=
2 4 5 3 6 7
Definirea unei matrice coloana (vector coloana):
>> c=[4;5;3;7;6]
c=
4
5
3
7
6
Definirea unui sir (vector) liniar cu pas constant:
>> x=2:1:7
x=
2 3 4 5 6 7
Definirea unui sir (vector) cu numar cunoscut de elemente:
>> y=linspace(1,10,7)
y=
1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
Generarea unor matrice speciale:
>> a=zeros(3,4)
a=
0 0 0 0
0 0 0 0

>> b=ones(2,5)
b=
1
1

1
1

1
1

1
1

>> I=eye(4)
I=
1 0 0
0 1 0
0 0 1
0 0 0

0
0
0
1

1
1

Manipularea matricelor:
Accesarea elementelor unei matrice:
>> I(2,3)
ans =
0
Lucrul cu diagonalele unei matrice:
>> a=[3 5 4 3 ;5 4 3 5;6 5 3 4;6 5 2 7]
a=
3 5 4 3
5 4 3 5
6 5 3 4
6 5 2 7
>> d=diag(a)
d=
3
4
3
7
>> d=diag(a,2)
d 1=
4
5
>> d=diag(a,-2)
22 =
6
5
Crearea unei matrice cu diagonala cunoscuta:
>> D=diag([3 5 3 2 5])
D=
3 0 0 0 0
0 5 0 0 0
0 0 3 0 0

0
0

0
0

0
0

2
0

0
5

Operatii cu matrice:
>> a=[4 3 5;6 5 3;7 5 2]
a=
4 3 5
6 5 3
7 5 2
>> b=[5 1 5;7 4 2;7 3 9]
b=
5 1 5
7 4 2
7 3 9
>> a+b
ans =
9 4 10
13 9 5
14 8 11
>> a-b
ans =
-1 2 0
-1 1 1
0 2 -7
>> a*b
ans =
76 31 71
86 35 67
84 33 63
>> 3*a
ans =
12 9 15
18 15 9
21 15 6
>> a/b
ans =
-0.9394
-1.3030
-0.7424
>> a\b
ans =
0.2222
1.0000
0.2222

0.2121 1.0303
0.9394 0.8485
1.1515 0.3788

-1.2778 7.2778
2.5000 -8.5000
-0.2778 0.2778

Analiza matriceala:

>> a=[4 3 5;6 5 3;7 5 2]


a=
4 3 5
6 5 3
7 5 2
>> det(a)
ans =
-18
>> rank(a)
ans =
3
>> inv(a)
ans =
0.2778 -1.0556 0.8889
-0.5000 1.5000 -1.0000
0.2778 -0.0556 -0.1111
Diferite functii ajutatoare:
>> a=5
a=
5
>> log(5)
ans =
1.6094
>> log2(5)
ans =
2.3219
>> a^2
ans =
25
>> sqrt(a)
ans =
2.2361
>> a^(3/2)
ans =
11.1803
>> exp(a)
ans =
148.4132
>> pow2(a)
ans =
32
>> log10(a)
ans =
0.6990
Functii trigonometrice:
>> x=2*pi
x=

6.2832
>> sin(x)
ans =
-2.4493e-016
>> cos(x)
ans =
1
>> tan(x)
ans =
-2.4493e-016
>> cot(x)
ans =
-4.0828e+015
>> asin(0.5)
ans =
0.5236
>> acos(0.7)
ans =
0.7954

2. Grafica cu MATLAB (Lucrarea de laborator nr. 3 in indrumar)


Cunostinte despre Fereastra grafica afisare grafice de functii si editarea lor interactiva
Grafice de functii tabelate:
>> x=[1 2 3 4 5 6 7 8]
x=
1 2 3 4 5 6 7 8
>> y=[-10 -4 5 -3 2 5 8 12]
y=
-10 -4 5 -3 2 5 8 12
>> plot(x,y)

>> plot(x,y,x,y,'o')

Grafice de functii analitice:


>> f=inline('x.^3-3*x+1')
f=
Inline function:
f(x) = x.^3-3*x+1
>> fplot(f,[-2 3])

Definirea unor functii in fisiere:


File -> New-> M-files (in Matlab 2007) Functions (in Matlab 2011)

Setarea cailor de lucru:


File -> Set Path
Editarea graficelor:
Din linia de comanda: subplot, labelx, label y, legend, title, etc.
Din fereastra grafica: in mod interactiv lucrand cu meniurile ferestrei: inserarea unui titlu, inserarea
etichetelor pe axe (label), inserarea uni text pe grafic, etc. (meniurile Edit, Insert si Tools).
3. Rezolvarea ecuatiilor, Sisteme de ecuatii (Lucrarile de laborator nr. 4, 8 din indrumar)
- fzero ecuatii transcendente
Definirea functiei ce caracterizeaza ecuatia:
>> f=inline('x.^3-3*x+1')
f=
Inline function:
f(x) = x.^3-3*x+1
Reprezentarea grafica pentru a identifica intervalele unde se gasesc solutiile:
>> fplot(f,[-2,2])
>> grid

Gasirea solutiilor cu functia fzero:


>> fzero(f,-2)
ans =
-1.8794
>> fzero(f,0)
ans =
0.3473
>> fzero(f,1.5)
ans =
1.5321

- roots ecuatii polinomiale


Definirea sirului de coeficienti ai ecuatiei: Ex.
>> c=[1 0 0 1 3 0 -10 0 -3]
c=
1 0 0 1 3 0 -10 0 -3
Gasirea solutiilor cu funtia roots
>> roots(c)
ans =
-1.4226
-0.8786 + 1.1968i
-0.8786 - 1.1968i
0.9409 + 1.3396i
0.9409 - 1.3396i
1.2915
0.0033 + 0.5257i
0.0033 - 0.5257i
- rezolvarea sistemelor prin impartire
Definirea matricei coeficientilor si a vectorilor termenilor liberi:

>> A=[1 2 3;2 2 2;10 5 1]


A=
1 2
2 2
10 5

3
2
1

>> b=[1; 2; 5]
b=
1
2
5
Testare solutie sistem:
>> det(A)
ans =
-2.0000
Rezolvare prin impartire la stanga:
>> x=A\b
x=
-4.0000
10.0000
-5.0000

Rezolvare folosind inversa:


>> x=inv(A)*b
x=
-4.0000
10.0000
-5.0000
- factorizare LU, QR, Cholesky
Factorizare LU
Definirea matricei coeficientilor si a vectorilor termenilor liberi:

>> A=[3 0 1;1 2 1;1 1 2]


A=
3 0 1
1 2 1
1 1 2
>> b=[10; 12; -3]
b=
10
12
-3
Testare solutie sistem:
>> det(A)
ans =
8
Test determinanti de colt: (de ordinul 1, 2, 3 ... n) Toti determinantii trebuie sa fie nenuli
>> det(A(1,1))
ans =
3
>> det(A(1:2,1:2))
ans =
6
>> det(A(1:3,1:3))
ans =
8
Factorizare LU:
>> [L,U,P]=lu(A)
L=
1.0000
0
0.3333 1.0000

0
0

0.3333 0.5000 1.0000


U=
3.0000
0 1.0000
0 2.0000 0.6667
0
0 1.3333
P=
1 0 0
0 1 0
0 0 1
Rezolvare sisteme: L*y=P*b si U*x=y
>> y=L\P*b
y=
10.0000
8.6667
-10.6667
>> x=U\y
x=
6.0000
7.0000
-8.0000

Factorizare Choleski:

>> A=[1 2 1;2 5 2;1 2 3]


A=
1 2 1
2 5 2
1 2 3
>> b=[5;11;7]
b=
5
11
7
Testare solutie sistem:
>> det(A)
ans =
2
Test determinanti de colt: (de ordinul 1, 2, 3 ... n) Toti determinantii trebuie sa fie pozitivi
>> det(A(1,1))
ans =
1
>> det(A(1:2,1:2))
ans =

1
>> det(A(1:3,1:3))
ans =
2
Factorizare Choleski:
>> [R,p]=chol(A)
R=
1.0000 2.0000 1.0000
0 1.0000
0
0
0 1.4142
p=
0
Rezolvare sisteme: R*y=b si RU*x=y
>> y=R'\b
y=
5.0000
1.0000
1.4142
>> x=R\y
x=
2.0000
1.0000
1.0000
4. Aproximarea functiilor (Lucrarile de laborator nr. 9, 10 din indrumar)
- interpolare liniara: calculare valori ale functiilor in anumite punte in intervalul specificat
>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> interp1(x,y,[1.5 2.6 4.2 6.8])
ans =
-8.0000 -4.2000 -0.8000 18.6000
Reprezentarea grafica a interpolarii liniare

- interpolare spline: calculare valori ale functiilor in anumite punte in intervalul specificat
>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> spline(x,y,[1.5 2.6 4.2 6.8])
ans =
-8.1451 -3.8034 -1.1074 17.4246
Reprezentare grafica:

- regresia polinomiala polyfit: Calcularea regresiilor polinomiale de grade diferite


>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> r2=polyfit(x,y,2)

r2 =
0.7143 -1.0714 -8.1429
>> r3=polyfit(x,y,3)
r3 =
0.2500 -2.2857 9.1786 -17.1429
Reprezentare grafica:
>> xi=1:0.01:7;
>> y2=polyval(r2,xi);
>> y3=polyval(r3,xi);
>> plot(x,y,'o',xi,y2,xi,y3)

- regresia liniara, corrcoef: Determinarea coeficientului de corelatie si interpretarea acestuia


>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> corrcoef(x,y)
ans =
1.0000 0.9542
0.9542 1.0000
Calcularea regresiei de gradul 1
>> r1=polyfit(x,y,1)
r1 =
4.6429 -16.7143
Reprezentarea grafica:
>> xi=1:0.01:7;
>> y1=polyval(r1,xi);
>> plot(x,y,'o',xi,y1)

5. Integrare, Derivare
- metoda trapezelor
Pentru functii direct tabelate
>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> I=trapz(x,y)
I=
7.5000
Pentru functii analitice:
>> f=inline('x.^3-3*x+1')
f=
Inline function:
f(x) = x.^3-3*x+1
>> x=1:0.01:4;
>> y=f(x);
>> I=trapz(x,y)
I=
44.2504
- metoda Simpson
>> f=inline('x.^3-3*x+1')
f=
Inline function:
f(x) = x.^3-3*x+1
>> I=quad(f,1,4)
I=
44.2500
- derivata unei functii

Functie tabelata:
>> x=[1 2 3 4 5 6 7]
x=
1 2 3 4 5 6 7
>> y=[-10 -6 -3 -2 4 9 21]
y=
-10 -6 -3 -2 4 9 21
>> dx=diff(x)
dx =
1 1 1 1 1 1
>> dy=diff(y)
dy =
4 3 1 6 5 12
Diferente finite la stanga / dreapta
>> df=dy./dx
df =
4 3 1 6 5 12
Diferente centrate:
>> k=length(dx)
k=
6
>> dfc=(dy(1:k-1)+dy(2:k))./(dx(1:k-1)+dx(2:k))
dfc =
3.5000 2.0000 3.5000 5.5000 8.5000
- derivata unui polinom polyder
Definirea sirului de coeficienti ai ecuatiei: Ex.
>> c=[1 0 0 1 3 0 -10 0 -3]
c=
1 0 0 1 3 0 -10 0 -3
Calculul derivatei cu functia polyder:
>> d=polyder(c)
d=
8 0 0 5 12 0 -20 0

You might also like