You are on page 1of 6

Laboratorul #1 Mecanica Mediilor Continue

1. Matrice i vectori
Definirea matricelor
>> A = [1 2; 3 4];
>> B = [2 4; 3 5];
Definirea vectorilor
>> C = [1; 2; 3];
>> D = [2; 4; 6];
Extragerea unui element dintr-o matrice
>> A(1, 2)
%Elementul de pe linia 1 si coloana 2 ale lui A
Extragerea unui element dintr-un vector
>> C(2)
%Elementul 2 al lui C
Afiarea unei coloane dintr-o matrice
>> A(:, 1)
%Coloana 1 a lui A
Afiarea unei linii dintr-o matrice
>> AA = A(2, :)
% Linia 2 a lui A memorat ca variabila AA
Operaii cu matrice
Adunarea
>> M = A + B;
Inmulirea
>> N = A*B;
Transpusa
>> A';
Ridicarea la putere
>> A^2;
Inversa unei matrice
>> inv(A);
>> A^(-1);
Determinantul
>> det(A);
Operaii cu vectori
Produs scalar
>> dot(C,D)
Operaii cu tablouri
Operaiile cu tablouri sunt operaii aritmetice (nmulire, mparire, ridicare la putere, etc.)
ntre elementele situate pe aceeai poziie a tablourilor, i.e. operaii element cu element.
Inmulirea tablourilor
>> A .*B;
Imparirea tablourilor
>> A./B;
Ridicarea la putere
>> A.^4;
1

2. Generarea vectorilor i matricelor


Generarea vectorilor cu pasul dat
Instruciunea de generare: a = amin:pas:amax

Generarea unui vector de la 1 la 10 cu pasul 2


>> a = 1:2:10;
Generarea vectorilor dac se d numarul N de elemente
Instruciunea de generare: a = linspace(amin, amax, N)
Pasul dintre dou elemente se calculeaz automat conform formulei:
pas = (amax-amin)/(N-1)
Generarea unui vector cu 4 elemente de la 1 la 10
>> a = linspace(1,10,4)

Generarea unei matrice (unui vector) ale crei (crui) elemente sunt date de:
( , ) = + , = 1: 4, = 1: 5 [ ( ) = , = 1: 4]
Comenzile se vor scrie intr-un fisier script: File/New/M-File
for i = 1:4
N(i) = i^3;
for j = 1:5
M(i, j) = i^2 + j;
end
end
Salvai fiierul cu numele CreareMatrice.m
n fereastra de comenzi afiai matricea M (vectorul N)
>>M
>>N
3. Reprezentri grafice
Scriei urmatoarele comenzi ntr-un fiier script i rulai-l
Graficul funciei de o singura variabil
Exemplul 1: Reprezentarea grafic a funciilor = sin( ) si = cos( ),
[0, 2 ]. Formatarea lor.
Reprezentarea unui punct pe graficele funciilor ( 0 = /2).
>>x = 0 :pi/100 :2*pi ;
>>y = sin(x) ;
>>z = cos(x)
>>x0 = pi/2;
y0 = sin(x0); z0 = cos(x0);
%plot(x,y,'linia de specificatori','Numele proprietii',Valoarea)
%Ordinea n linia de specificatori - Stilul Liniei Culoarea Liniei
%Tipul Markerului;
%de ex, --r+
linie ntrerupt (--), de culoare roie (r),simbolul markerului (+)
%Tipuri de stil al liniei (LineStyle):
%linie continu (-), linie ntrerupt (--), linie punctat(:), line-punct (-.)
%Culorile liniei(LineColor):

%red(r), green (g), blue(b), cyan(c), magenta(m), yellow(y), %black(k), white(q)


%Tipuri de markeri(MarkerType):
%semnul plus (+), cerc(o), stelu(*), punct(.), ptrat(s), romb sau diamant(d),
stelu %cu 5 puncte (p), stelu cu 6 puncte (h)
%Numele proprietii(PropertyName): LineWidth grosimea liniei
%MarkerSize dimensiunea markerului
%MarkerEdgeColor culoarea liniei markerului
%MarkerFaceColor culoarea interiorului markerului
%De asemenea, n seciunea Numele proprietii (PropertyName) mai pot fi incluse
%separat i LineStyle, Color, Marker. n acest caz va lipsi 'linia de specificatori'
>>plot(x,y,--r,LineWidth,2,x0,y0,o,MarkerSize,3,MarkerFaceColor,r)
>>hold on
>>plot(x,z,-y,LineWidth,3)
>>xlabel(x=0 :2*pi) ;
%etichet pe x
>>ylabel(functia sin(x) si cos(x));
%etichet pe y
>>title(Graficul functiei sin(x) si cos(x));
%titlul graficului
>>legend(sin,sinx0,cos)
%Ataeaz n ordine legende pt. fiecare grafic
Generarea unei reele (mesh) i reprezentarea grafic a unei funcii de dou
variabile
Funcia meshgrid transform domeniul specificat prin vectorii x si y n matricele X i
Y care pot fi folosite pentru evaluarea funciilor de dou variabile i pentru
reprezentri 3D surface.
Exemplul 2: S se genereze matricele X i Y pentru domeniul:
2 2 , 2 3, cu pasul 2 pe axa Ox i pasul 1 pe axa Oy.
S se calculeze matricea Z data de formula: " = # + $
i s se reprezinte grafic suprafaa Z = Z(X, Y).
Soluie:
Generare x
%Individual
Generare y
%Individual
[X, Y] = meshgrid(x, y); %Matricele X i Y conin coordonatele nodurilor reelei
Z = X.^2 + Y.^2;
%Evaluarea matricelor
surf(X, Y, Z);
%Reprezentarea grafica a suprafetei Z = Z(X,Y)
Reprezentarea curbelor n spaiu
Reprezentarea parametric a curbei: = sin(%) , = cos(%) , & = %, % [0,10 ]
>>t = 0:pi/50:10*pi;
>>X = sin(t);
>>Y = cos(t);
>>Z = t;
>>plot3(X, Y, Z);

4. Fiiere funcie
Dac prima linie a fiierului conine cuvntul function, atunci fiierul respectiv este
declarat ca fiier funcie. O funcie difer de un script prin faptul ca poate lucra cu
argumente. Variabilele definite i manipulate n interiorul fiierului funcie sunt
3

localizate la nivelul acesteia. Prin urmare, la terminarea execuiei unei funcii, n


memoria calculatorului nu ramn dect variabile de ieire ale funciei.
Forma general a primei linii unui fiier funcie este:
function [param_iesire] = nume_functie(param_intrare)
Exemplul 3: S se scrie un fiier funcie care poate calcula valoarea funciei
'( , ) =
+
n orice punct. S se calculeze '(2,3).
>>function z = fun2var(x, y)
>>z = x^2 + y^2;
>>end

Fiierul se va salva cu numele fun2var.m i va fi apelat n fereastra de comenzi:


>>fun2var(2,3)
)*
Exemplul 4: S se declare funcia fun_param.m: ( (), *) = +3) ,
2*
S se calculeze ( (2,3).
Obs: Vor fi doi parametri de intrare i trei parametri de ieire.

Exemplul 5: S se rezolve Exemplul 1 prin declararea unei funcii cu un parametru


de intrare i doi parametri de ieire. S se construiasc graficele.
5. Reprezentri de grafice. Completri.
Exemplul 6:

(5 + cos(. )) cos(/)
Fie funcia reprezentat parametric: ( (., /) = 0 (5 + cos(. )) sin(/) 1
2 sin(. )
unde . [0,2 ], / [0,2 ].
i. S se construiasc suprafaa reprezentat de aceast funcie.
ii. S se construiasc curba = 2 .
iii. S se construiasc curba = 2 .
n program se vor utiliza notaiile: 21 = . i 22 = /.

Paii de execuie:
1. Reprezentarea suprafeei
Se declar funcia de mai sus, denumit Tor,utiliznd doi parametri de intrare
(21, 22) i trei parametri de ieire [(1, (2, (3].
Se discretizeaz variabilele 21 i 22 pe intervalele corespunztoare.
Se creaz o reea de noduri pentru domeniul [0,2 ] [0,2 ]. Matricele ce conin
coordonatele acestor noduri se vor nota cu 41i 42.
Se construiesc matricele [(1, (2, (3] apelnd funcia Tor i considernd ca
parametrii de intrare matricele 41i 42.
surf((1, (2, (3) reprezentarea grafic a suprafeei date de functia ((., /).
hold on; pentru a reprezenta n aceeai fereastr de grafice i celelalte figuri)
Se ruleaz fiierul.
4

2. Reprezentarea curbei = 2
Se declar q1 = 2
Se discretizeaz 21 [0,2 ] considernd pasul suficient de mic.
Se construiesc vectorii [(1, (2, (3] apelnd funcia Tor i considernd parametrii
de intrare 21 i 22.
Se foloseste comanda plot3, specific reprezentrii curbelor n spaiu.
Se formateaz aceast curb modificnd grosimea ei.
3. Reprezentarea curbei = 2
Se declar q1 = 2 .
Se discretizeaz 22 [0,2 ].
Construim vectorii [(1, (2, (3] apelnd funcia Tor i considernd parametrii de
intrare 21 i 22.
Obs: (1, (2 vor reprezenta doi vectori, iar (3 - un numr real (21 este constant).
Pentru a evita eroarea de calcul, se va defini un (o) vector (matrice) constant(a)
ale crui (carei) elemente sunt toate egale cu 1. Acesta (aceasta) se va nmuli cu
expresia lui (3: (3 = 2 sin (21).*ones(size(F1)) (i.e. ones(size(F1) - creaz o
matrice de aceeai dimensiune cu F1 avnd toate elementele egale cu 1).
Modificarea se face n fiierul Tor.
Cercetai individual comenzile ones i size tastnd n fereastra de comenzi
help ones i, respectiv, help size.
Se apeleaz comanda plot3.
6. Calcul simbolic
Evaluarea expresiilor simbolice
>>syms a b;
>>c = a + b + 2*b;
>>A = [a a; b 2*a];
>>d = det(A);
Derivata simbolic
>>syms x y;
>>f = x^2 + y^2;
>>dfdx = diff(f, x);
%derivata de ordinul ntai a lui f n raport cu x
>>dfdy = diff(f, y);
%derivata de ordinul ntai a lui f n raport cu y
>>d2fdx2 = diff(f, x, 2);
%derivata de ordinul doi a lui f n raport cu x
>>d2fdxdy = diff(dfdx, y);
%derivata de ordinul doi a lui f n raport cu x si y
Integrala simbolica
>>I1 = int(f, x);
I2 = int(f, y);
7. Grafice de funcii cu ajutorul expresiilor simbolice
Obs: comenzile de reprezentare grafica a funciilor ce descriu curbe plane, curbe in
spatiu, suprafete si sunt reprezentate simbolic, sunt: ezplot, ezplot3, ezsurf.
Urmtorul exemplu construiete graficul funciei y = x 2 3x + 2, x [ 1,4]
>>syms x;
>>f = x^2 - 3*x + 2;
>>ezplot(f, [-1, 4]);
5

TEMA 1
Exerciiul 1:
Dai exemple de funcii i construii graficele lor prin 3 metode:
numeric simpl, numeric cu apelarea funciei i simbolic.
1. y = f ( x), x [a, b]
2. x = x(t ), y = y (t ), t [a, b ]
3. x = x(t ), y = y (t ), z = z (t ), t [a, b]
4. y = f (u , v), (u, v) [a, b] [c, d ]
5. x = x(u, v), y = y (u , v), z = z (u , v), (u , v) [a, b] [c, d ]

Metoda simbolic

1.
2.
3.
4.
5.

ezplot(f,[a,b])
ezplot(x,y,[a,b])
ezplot3(x,y,z,[a,b])
ezsurf(f,[a,b,c,d])
ezsurf(x,y,z,[a,b,c,d])

Exerciiul 2:
Fie funcia ( (/, . ) reprezentat parametric:
6 7 cos(/) sin (.)
((/, .) = 0 8 7 sin(/) sin (.) 1
9 7 cos (.)
[
]
[
]
unde / 0,2 , . 0,2 , 7 = 1, 6 = 10, 8 = 6, 9 = 2.
S se construiasc suprafaa reprezentat de funcia ((/, .), curba = 2 si curba
= 2.

You might also like