lucrarea+3a

8

Click here to load reader

Upload: cristian-popa

Post on 15-Sep-2015

223 views

Category:

Documents


0 download

DESCRIPTION

Un laborator util pentru imbunatatirea cunstintelor de Mathlab

TRANSCRIPT

Lucrarea de laborator nr

Lucrarea de laborator nr.3Sisteme de ecuaii liniare. Elemente de grafic1. Ecuaii matriciale

Fie ecuaiile matriciale A*X = B , respectiv, Y*A = B . Din algebra liniar tim c soluiile acestor ecuaii sunt: X = A-1*B, respectiv, Y = B*A-1. Comenzile MATLAB corespunztoare sunt:

X = inv(A)*B, respectiv, Y = B*inv(A).

Totui, pornind de la ecuaia de gradul 1 de forma a*x = b , a crui soluie este x = b/a n MATLAB au fost introdui operatorii \ i / care calculeaz soluia ecuaiei matriciale n alt mod dect clasica soluie de mai sus (cea cu inversa). Testele arat faptul c soluia cu operatorul / este obinut mult mai rapid dect cu formula clasic, acest fapt devenind observabil atunci cnd matricele sunt de mari dimensiuni. Astfel pentru matrice de ordinul 1000 soluia / a fost de 400 ori mai rapid.

n MATLAB soluiile ecuaii sunt:

A*X = B ( X=A\B, respectiv

Y*A = B ( Y=B/A.

2. Sisteme liniare

Din algebra liniar se tie faptul c sistemele liniare sunt de trei tipuri:

- sisteme compatibile unic determinate (care au soluie unic);

- sisteme compatibile nedeterminate (care au o infinitate de soluii);

- sisteme incompatibile (care nu au nici o soluie).

S considerm un sistem liniar de ordin n (adic are n ecuaii cu n necunoscute). S notm cu A matricea coeficienilor necunoscutelor, cu x vectorul coloan al necunoscutelor i cu b vectorul coloan al termenilor liberi. Sistemul liniar capt o form matricial A*x = b.

Se numete rangul unei matrice ordinul (tipul) determinantului cel mai mare nenul ce se poate forma cu elementele matricei. n MATLAB exist funcia rank(A) care ne calculeaz rangul matricei A. Mai definim matricea extins a lui A, obinut prin concatenarea orizontal la A cu vectorul b (n MATLAB Aext=[A b]). Acum putem spune despre un sistem liniar de ce tip este:

- dac rank(A)=rank(Aext)=n este vorba despre un sistem compatibil unic determinat pe care l rezolvm cu formula x=A\b;

- dac rank(A)=rank(Aext) title ('nume')

>> xlabel('nume axa x')

>> ylabel('nume axa z')

>> text(x,y,'text')

La comanda text valorile numerice indic punctul (x,y) poziia din fereastra graficului de unde va ncepe scrierea textului.

Pentru afiarea de mai multe dependene pe acelai grafic, se folosete sintaxa:

plot(x,y1,speclinie1, x,y2,speclinie2,etc) sau se folosete comanda hold on dup primul grafic desenat, revenirea n modul normal fcndu-se cu comanda hold off..Specificaiile pentru linii pot lipsi, programul trasnd n mod implicit fiecare grafic cu alt culoare.

Comanda legend permite o cale uoar de identificare a curbelor individuale, specificndu-se ce anume s apar scris pentru fiecare curb n parte:

legend('text1','text2',etc)

Funciile grafice deschid in mod automat o noua fereastra figure daca nu exista nici o fereastra figure deja afiata pe ecran. Daca o fereastra figure exista, MATLAB folosete acea fereastra pentru reprezentri grafice. Daca exista mai multe ferestre deschise, MATLAB se fixeaz la una dintre ele ce reprezint figura curenta (ultima figura folosita sau pe care s-a executat un clic). Pentru a deschide o noua fereastra si pentru a o face figura curenta, tastai figure.Comanda subplot permite afiarea in aceeai fereastra a mai multor grafice sau tiprirea acestora pe aceeai coala de hrtie. Tastnd subplot(m,n,p) fereastra figure este partiionata intr-o matrice m x n de grafice mai mici si selecteaz graficul cu index p ca grafic curent. Graficele sunt numerotate nti pe primul rnd de sus al ferestrei figura, apoi pe cel de-al doilea rnd etc.

Comanda axis admite un numr de opiuni pentru setarea scalarii, orientrii, si aspectului graficelor. Putei de asemenea seta aceste opiuni interactiv.

Implicit, MATLAB caut maximele si minimelor seturilor de date pentru a alege limitele axelor. Comanda axis permite specificarea propriilor dvs. limite pentru axe si are sintaxa urmtoare: axis([xmin xmax ymin ymax]) pentru grafice bi-dimensionale si axis([xmin xmax ymin ymax zmin zmax]) pentru grafice tri-dimensionale.

Comanda axis va permite de asemenea sa specificai un numr de stiluri predefinite. De pilda, axis square determina limitele axelor x si y de aceeai lungime. Comanda axis equal determina incrementul pe axele x si y de aceeai lungime.

Putei folosi comanda axis pentru a face axele vizibile sau invizibile. Comanda axis on face axele vizibile, aceasta comanda fiind cea implicita. Comanda axis off face axele invizibile.

Comanda grid face sa apar sau sa dispar liniile de grid. Comanda grid on face ca liniile de grid sa apar iar grid off face ca liniile de grid sa dispar din nou.

4. Grafice 3DMATLAB definete o suprafaa prin coordonata z a punctelor situate pe un grid in planul x-y, folosind linii drepte pentru conectarea punctelor alturate. Funciile grafice mesh si surf afiseaza suprafee in trei dimensiuni. Funcia mesh genereaz suprafee de tip plasa colornd doar liniile ce conecteaz punctele definite. Funcia surf afiseaza att liniile de legtura cat si fetele suprafeei colorate. Pentru a afia o funcie de doua variabile, z = f(x,y) trebuiesc urmai paii de mai jos:

Generai matricele X si Y constnd din rnduri si coloane, pe domeniul funciei.

Folosii X si Y pentru a evalua si a trasa funcia.

Funcia meshgrid transforma domeniul specificat printr-un singur vector sau doi vectori x si y in matrice X si Y pentru evaluarea funciilor de doua variabile. Rndurile lui X sunt copii ale vectorului x si coloanele lui Y sunt copii ale vectorului y. Sintaxa:

[x,y]=meshgrid([-xmin:stepx:xmax],[ymin:stepy:ymax])mesh(x,y,z)

surf(x,y,z)

Pentru desenarea de figuri geometrice n spaiu avem trei comenzi:

- cylinder(y,n) deseneaz un corp de rotaie n jurul axei z generat de o curb creat de vectorul y i avnd n puncte pe circumferin. Daca y este constant atunci deseneaz o prism regulat cu baza avnd n laturi. Cu ajutorul ei se pot desena i piramide sau conuri, dup cum numrul n este mai mic sau mai mare. n acest caz z trebuie s fie o dreapt.- sphere(n) o sfer cu n puncte pe circumferin.

- ellipsoid(xc,yc,zc,rx,ry,rz) genereaz un elipsoid de centru (xc,yc,zc) i semiaxe rx,ry,rz.Numrul funciilor i comenzilor de reprezentare grafic este mare i permite obinerea de reprezentri grafice n diferite stiluri i modaliti.Aplicaii

1. Fie matricile A, B, C definite de:

(vezi lucrarea 1).

S se rezolve ecuaiile matriciale A*X = B i Y*A = C.

2. Fie matricele:

S se rezolve ecuaiile matriciale:

a) AX+B=C,

b) AX+B=X,

c) XA+B=C,

d) XA+B=X.3. S se rezolve sistemele de ecuaii:

4. S se reprezinte graficele funciilor urmtoare:

definite pe intervalul x([-2 , 2]. Reprezentarea se va face:

a) toate funciile pe aceiai figur;

b) fiecare funcie n figura ei dar toate pe acelai ecran.5. S se reprezinte suprafaa definit de funcia:

(pentru a evita singularitile, se adaug o cantitate eps sub fiecare radical).

6. S se deseneze urmtoarele figuri geometrice:

a) un cilindru;

b) un paralelipiped dreptunghic;

c) o piramid cu baza ptrat;

d) un trunchi de piramid cu baza hexagonal:

e) un con;

f) un trunchi de con;

g) o suprafa de rotaie generat de funcia: y = x*sin(x) ;

h) o sfer:

i) un elipsoid cu centrul n punctul (0,0,0) si de raze: rx=1, ry=8 i rz=3.