laborator matlab
DESCRIPTION
Grafice in MatlabRezolvarea ecuatiilor polinomialeRezolvarea numerica a ecuatiilor neliniareTRANSCRIPT
MATLAB 1
LABORATOR 2
Grafice ın Matlab
Sintaxa generala pentru grafice ın plan este
plot(X1, Y 1, LineSpec, ...)
−reprezinta ın plan perechile (x, y) din cei doi vectori X1, Y 1 de aceeasi dimensiune
−comanda LineSpec adauga caracteristici n plus cu privire la tipul linilor,culoare,
stilul, etc.
−Stilul linilor poate fi: linie continua ′−′, linie ıntrerupta ′ − −′, linie punctata
′ :′,linie punct ′ − .′
−Marker type poate fi: ′+′,′ ◦′,′ ∗′
Sintaxa generala pentru grafice ın spatiu este
plot3(X1, Y 1, Z1, LineSpec, ...)
−reprezinta ın spatiu (x, y, z) din vectorii X1, Y 1, Z1 de aceeasi dimensiune
−comanda LineSpec adauga caracteristici n plus cu privire la tipul linilor,culoare,
etc.
Sintaxa generala pentru lungimea axelor este
axis([xmin x max ymin ymax zmin zmax])
Sintaxa generala pentru etichetarea axelor este
xlabel(′text′)
ylabel(′text′)
zlabel(′text′)
Exemplul 1. Sa se reprezinte grafic ın acelasi sistem de coordonate functiile:
f(x) = sin 2x; g(x) =x+ 2
x2 + 1. Functia fsa se figureze cu culoarea rosie si cu linie
punctata iar g cu verde si cu linie ıntrerupta.
MATLAB 2
Consideram x pe intervalul [−2π, 2π] si folosim secventa:
x=-2*pi:2*pi;
f = sin(2 ∗ x);
g = (x+ 2)./(x.ˆ2 + 1);
plot(x, f,′ : r′, x, g,′−− g′)
xlabel(′x′);ylabel(′y′),ntaisedefineste functia ıntr-un fisier
Matlab are si comenzi specifice pentru grafice de functii definite pe intervale spec-
ificate.
Sintaxa generala pentru grafice este
fplot(′function′, limits, LineSpec)
′function′- trebuie sa fie numele unei functii continute intr-un fisier cu acelasi nume
sau o functie predefinita, precum ’cos(x)
,’log(x)’
Exemplul 2. Sa se reprezinte grafic functia
f(x) = x2 +√
2x cosx+ 1
pe intervalul [−5, 5] .
Intai se defineste functia ıntr-un fisier mac.m
function f = mac(x)
f = x.ˆ2 + sqrt(2 ∗ x). ∗ cos(x) + 1
Apoi ın fisierul de comanda scriem
fplot(′mac′, [−5, 5])
care va produce graficul functiei f.
Exercitiul 1. Sa se reprezinte grafic ın acelasi sistem de coordonate functiile
h(x) =sinx
xsi g(x) = 2 + x+ x2 . Functia h sa se figureze cu culoarea albastra si cu
linie continua iar g cu verde si cu linie ıntrerupta.
MATLAB 3
Rezolvarea ecuatiilor polinomiale
In Matlab, solutia ecuatiei polinomiale se gaseste definind mai ıntai vectorul v ce
contine coeficientii polinomului v : si apoi folosind comanda
”roots” : r = roots(v).
Exemplul 1. Gasiti solutiile ecuatiei polinomiale
x3 + 3x2 − 6x− 8 = 0
Pentru exemplul nostru scriem la cursor :
>> v = [1, 3,−6,−8]; roots(v)
Observatie : Numarul de elemente ale vectorului v asociat unei ecuatii polinomiale
de ordin n este ıntotdeauna n+1. Daca termenul ce contine puterea , nu apare ın
ecuatie, vectorul v corespunzator va contine 0 ın loc de . De exemplu, ecuatiei
x3 + 2x+ 5 = 0
ıi va corespunde vectorul v = [1,0,2,5].
Exercitiu 1 : Rezolvati ecuatiile :
x4 + 2x3 − 5x+ 2 = 0
x3 + 2x+ 3 = 0
Pentru evaluarea unui polinom P (x) intr-un punct x se foloseste sintaxa
polyval (P, [x])
Exemplul 2. Sa calculeze valorile polinomului P (x) = x4 + 3x3 − 4x2 − 2x+ 7 in
punctele x = 3, x = 2, x = 11.
MATLAB 4
Solutie.
P = [1, 3,−4,−2, 7]
polyval(P, [3, 2, 11])
Pentru determinarea coeficientiilor polinomului a carui radacini sunt
componentele vectorului r , se utilizeaza sintaxa
poly(r)
Exemplul 3. Sa se determine coeficientii polinomului P (x) a carui radacini sunt
x = 3, x = 5, x = 11.
Solutie.
r = [3, 5, 11]
poly(r)
Pentru determinarea coeficientiilor polinomului caracteristic al unei ma-
trici A, se utilizeaza sintaxa
poly(A)
Radaciniile acestui polinom sunt valorile proprii ale matricii A.
Pentru determinarea valorilor proprii ale unei matrici A, se utilizeaza
sintaxa
eig(A)
Exercitiu 2. Sa se determine polinomul caracteristic si valorile proprii ale matricii
A =
2 0 1
1 2 4
−1 0 2
.
MATLAB 5
Rezolvarea numerica a ecuatiilor neliniare
Calculul unei solutii aproximative a ecuatiei f(x) = 0, unde f este o funcaie
neliniara.
Exemplul 2: Calculati o solutie aproximativa a ecuatiei
ex + xˆ2− 10 = 0
Rezolvare : In Matlab definim functia ce caracterizeaza ecuatia ın cadrul unui fitierului
de tip m-file f2.m :
function y = f2(x)
y = exp(x) + x.ˆ2− 10
Pentru a realiza un tablou de valori pe intervalul [-5,5] al acestei functii construim
mai ıntai o diviziune de pas 1 a acestui interval : xx=-5:1:5
In continuare aplicam functia f2 fiecarui punct al diviziunii xx, obtinand diviziunea
yy:
yy=f2(xx)
Graficul corespunzator este :
plot(xx,yy,’o’)
Pentru ne face o imagine de ansamblu putem de asemenea reprezenta grafic functia:
fplot(’f2’, [-5,5])
Intervalul pe care se face reprezentarea grafica se alege dupa caz, de la problema
la problema, astfel ıncat sa surprinda valorile aproximative ale radacinilor cautate.
Pentru problema data graficul arata ca exista doua radacini, una ın jurul valorii - 3
iar cealalta ın jurul valorii 2. Vom folosi ın continuare comanda fzero, care gaseste o
radacina aproximativa a ecuatiei folosind o metoda de tip Newton, si deci are nevoie
de un punct de pornire pentru a construi sirul de aproximatii succesive ce converge
la solutie. Vom alege ca punct de pornire pe rand valorile - 3 ai 2, obtinand solutiile
MATLAB 6
cautate . Scriem asadar la cursor :
> > fzero(′f2′,−3)
> > fzero(′f2′, 2)
Exercitiu : Rezolvati ecuatia g(x) = 0 pentru fiecare dintre functiile de mai jos :
x2 + ex − 2√x2 + 1 = 0
x4 + sinx− 2 = 0
x4 + ex −√x2 + 2− 10 = 0
Raspuns. 2.1974, - 2.1974; -1.3124, 1.0335; -1.8685, 1.6298.