Sunteți pe pagina 1din 127

UNIVERSITATEA TEHNIC A MOLDOVEI

FACULTATEA CIM
CATEDRA MECANICA TEORETIC

ION BALMU
ANATOLIE CASIAN
VALERIU MIHAILOV

LUCRRI DE LABORATOR
LA MECANIC

realizate n MATLAB

Chiinu
U.T.M.
2007

2
Prezenta lucrare didactic conine o expunere pe scurt a
materialului, necesar pentru a aplica pachetul MATLAB, i exerciii
de antrenament n acest sens (Lucrrile de laborator Nr 1 i Nr 2 -
calculul expresiilor aritmetice, utilizarea masivelor unidimensionale
i bidimensionale, construirea graficelor). Este expus pe scurt i
materialul teoretic pentru a efectua dou lucrri de laborator la
mecanic n pachetul MATLAB (Lucrrile de laborator Nr 3 i Nr 4
construirea traiectoriei punctului material n plan i n spaiu,
calcularea integralelor, rezolvarea ecuaiilor difereniale de ordinul
doi, studiul oscilaiilor forate). Sarcinile lucrrilor de laborator sunt
prezentate n 30 de variante. Studentul primete numrul variantei de
la profesor pentru toate patru lucrri de laborator. Dup efectuarea
lucrrii studentul ndeplinete Raportul despre lucrarea respectiv.
Raportul trebuie oformat pe foi A4 cu chenar la 5 mm de la margine
sus, jos i n dreapta i 20 mm n stnga, ca documentaie tehnic.
Dac imprimanta nu accept astfel de margini, se admit, ca excepie,
foi A4 cu chenar la 10 mm de la margine sus, jos i n dreapta i 20
mm n stnga. Foaia de titlu a Raportului este indicat de profesor
conform Anexei 1 sau 2. Raportul se prezint pentru susinere la
lucrarea de laborator urmtoare. Dup susinerea ultimei lucrri
studentul prezint profesorului rapoartele despre toate lucrrile n
ansamblu, prinse cu o clam. Ele se pstreaz la catedr timp de un
an.
Lucrrile de laborator sunt destinate studenilor de la Facultatea
Calculatoare, Informatic i Microelectronic.

Autorii: conf. univ. dr. Ion Balmu


prof. univ. dr. hab. Anatolie Casian
asistent univ. Valeriu Mihailov

Redactor responsabil: prof. univ. dr. hab. Anatolie Casian

Recenzent: conf. univ. dr. Gheorghe Coman

U.T.M., 2007
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Cuprinsul

Notri..................................................................................................5
Introducere.........................................................................................6
Ce este MATLAB..............................................................................6
Versiunile existente...........................................................................8
Pornirea sistemului MATLAB i lucrul n regim de dialog..............8
Lucrarea 1. Elemente ale sistemului MATLAB............................11
1.1. Comenzile de redactare a rndului...........................................11
1.2. Comenzile de dirijare a ferestrei n regimul de comand.........13
1.3. Regimul de comand................................................................14
1.4. Expresiile aritmetice.................................................................15
1.4.1. Numerele.............................................................................15
1.4.2. Operaiile aritmetice............................................................16
1.5. Variabilele.................................................................................17
1.5.1. Vizualizarea variabilelor.....................................................18
1.5.2. tergerea determinrii variabilelor......................................19
1.5.2. Fereastra Workspace...........................................................19
1.6. Formatul numerelor..................................................................20
1.7. Funciile matematice................................................................22
1.8. Vectorii i matricele..................................................................24
1.8.1. Matricele..............................................................................25
1.8.2. Introducerea matricelor.......................................................25
1.8.3. Operatorul colon..................................................................28
1.8.4. Generarea matricelor...........................................................29
1.8.5. Apelri la matrice................................................................29
1.8.6. Dimensiunile matricei.........................................................32
1.8.7. Operaiile cu matrice...........................................................33
1.8.8. Operaiile cu masivele (tabelele).........................................34
1.8.9. Lucrul cu matricele..............................................................35
1.9. Anunul despre erori i ndreptarea erorilor.............................38
Sarcina Lucrrii Nr 1.......................................................................43
Lucrarea 2. Grafica n sistemul MATLAB...................................52
2.1. Crearea graficelor.....................................................................52
2.1.1. Fereastra cu grafic.................................................................52
3
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2.1.2. tergerea figurii.....................................................................53


2.2. Construirea graficelor funciilor de o singur variabil...........53
2.2.1. Funcia comet......................................................................54
2.3. Construirea graficelor funciilor de dou variabile..................55
2.3.1. Construirea graficelor plane cu liniile de nivel..................56
2.4. Construirea graficelor funciilor determinate
n mod parametric....................................................................58
2.5. Construirea ntr-o fereastr a graficelor ctorva funcii...........59
2.5.1. Grafice cu axele comune.....................................................59
2.5.2. Grafice cu axele proprii.......................................................60
2.5.3. Setarea axelor......................................................................61
2.6. Crearea interactiv a graficelor................................................62
2.7. Oformarea graficelor................................................................63
Sarcina Lucrrii Nr. 2......................................................................69
Lucrarea 3. Calculul traiectoriei punctului material...................73
3.1. Redactorul incorporat...............................................................73
3.1. File-funcii i file-programe.....................................................74
Sarcina Lucrrii Nr. 3......................................................................80
Lucrarea 4. Studiul oscilaiilor forate ale unui corp
n prezena forei de rezisten.......................................................89
4.1. Integrarea numeric..................................................................89
4.1.1. Integrale definite ordinare...................................................89
4.1.2. Integrale definite duble........................................................91
4.2. Rezolvarea ecuaiilor difereniale.............................................92
4.3. Studiul oscilaiilor libere..........................................................96
4.4. Influena rezistenei asupra oscilaiilor libere.
Oscilaii amortizate................................................................100
4.5. Oscilaii forate n prezena forei de rezisten.....................102
Sarcina lucrrii Nr. 4.....................................................................106
ANEXA 1. EXEMPLU - Foaie de titlu........................................114
ANEXA 2. EXEMPLU - Foaie de titlu........................................115
ANEXA 3. Secvenele de caractere folosite la grafice................116
Bibliografie.....................................................................................118

4
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Notri

Exemplu pentru regimul de comand - fereastra Command


Windows,
>> x = 0.2;
>>

Exemplu pentru Editorul intern a MATLAB.


x = 0.2;
z=x

Exemplu pentru Editorul intern a MATLAB cu programul


salvat n fiierul file.m.
file.m
x = 0.2;
z=x

5
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Introducere

Ce este MATLAB
n timpul de fa MATLAB este unul din cele mai puternice din
toate pachetele universale de calcul. Inginerii i savanii aplic
MATLAB pentru rezolvarea problemelor din diferite domenii de
aplicare: achiziionarea, analizarea i vizualizarea datelor;
prelucrarea semnalelor i a imaginilor; cercetarea i calcularea
diferitor procese tehnice; modelarea, simularea i optimizarea
sistemelor tehnice; dezvoltarea aplicaiilor, incluznd interfeele
grafice etc.
MATLAB este un sistem interactiv cu un limbaj de performan
nalt foarte efectiv pentru calcule tehnice a crui element
informaional de baz este matricea. Denumirea de MATLAB
provine de la Matrix Laboratory.
MATLAB s-a dezvoltat pe parcursul anilor cu adugrile a mai
multor utilizatori. La universiti pachetul MATLAB se folosete ca
un instrument standard de iniiere i cursuri avansate n matematic.
n industrie MATLAB este instrumentul cu o capacitate nalt pentru
cercetare, dezvoltare i analiz.

Fig. I.1. Componena sistemului MATLAB


6
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Sistemul MATLAB const din 5 pri principale:

Mediul de dezvoltare este un set de utiliti cu faciliti care


ajut s folosim funciile i fiierele din MATLAB. Multe din aceste
utiliti au interfa grafic. Ele includ fereastra de lucru (MATLAB
desktop), fereastra liniei de comand (Command window), fereastra
istoriei comenzilor (Command history), editorul intern, software
pentru corecia programelor (debugger), Ajutorul i navigatorul lui
(help), Spaiul de lucru a sesiunii (Workspace), fiierele i drumul de
cutare (Curent directory).

Biblioteca cu funciile matematice conine o vast colecie de


algoritmi de calcul de la funciile elementare - suma, sinus, cosinus,
etc, pn la funciile sofisticate - matrice inverse, funciile Bessel,
transformarea rapid Furier etc.

Limbajul MATLAB este limbaj de performan nalt cu funcii,


structuri, date de intrare i ieire, programarea orientat pe obiecte
APOO. El permite att crearea rapid a programelor mici, ct i
crearea programelor i aplicaiilor mari i complexe.

Grafica. MATLAB are faciliti extensive pentru vizualizarea


vectorilor i matricelor ca grafice. Grafica include funcii pentru
vizualizarea datelor n form bidimensional i tridimensional,
prelucrarea imaginilor, animaie, grafica pentru prezentaii. Totodat
ea include funcii care permit setarea complet a graficelor, precum i
crearea interfeelor grafice n aplicaiile MATLAB.

Interfaa Extern (External Interfaces - API). Aceasta este o


bibliotec care v permite a scrie programe n limbajele C i Fortran
care interacioneaz cu MATLAB. Ea include faciliti pentru apelare
la funciile i procedurile din MATLAB (dynamic linking), apelarea
la MATLAB ca la nucleul de calcul, pentru citirea i scrierea
fiierelor MAT etc.

7
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Versiunile existente.

n momentul de fa sunt mai multe versiuni a pachetului


MATLAB :
1) MATLAB 6.1 (Release 12) lansat la 7 Martie 2005,
instalarea ocup ~260 Mb
2) MATLAB 6.5.1 (Release 13) SP3
3) MATLAB 7.0.0 (Release 14)
4) MATLAB 7.0.1 (Release 14) SP1
5) MATLAB 7.0.4.365 (Release 14) SP2 lansat la 1
Septembrie 2005 instalarea ocup 3 CD
6) MATLAB 7.1 (Release 14) SP3
7) MATLAB 7.2 (Release 2006a) lansat la 1 Martie 2006
(http://www.mathworks.com/products/new_products/release2
006a.html)
8) MATLAB 7.3 (Release 2006b) lansat la 1 Septembrie 2006
(http://www.mathworks.com/products/new_products/latest_fe
atures.html?s_cid=MLD0906rowP1&s_v1=MLD0906)
Versiunile sunt pentru diferite platforme: UNIX/Linux (Solaris
versiunile 8, 9, 10 pe 32 bit, Linux 32 i 64 bit), Macintosh,
Windows (32 i 64 bit, Windows 2000, Windows XP i Windows
Server 2003)
ndrumarul de fa e scris pe baza versiunilor R12 i R14SP2.
Daca sunt diferene eseniale ntre programe n ndrumar ele sunt
artate.

Pornirea sistemului MATLAB i lucrul n


regim de dialog

Pachetul MATLAB se lanseaz din meniului principal, apsnd


pe iconia MATLAB (de obicei Start -> Programs ->
Programming). Sistemul este gata de a face calcule n regimul de
comand. Fereastra de baz iniial deschis complet este indicat pe
Fig. I.2.

8
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig.I.2. Fereastra principal iniial a sistemului MATLAB

n partea dreapt avem fereastra Command Window, stng


sus avem fereastra Launch Pad cu Workspace i stng jos avem
fereastra Command History.
Uneori MATLAB se lanseaz numai cu o fereastra activ, de
exemplu Command History.

Fig.I.3. Sistemului MATLAB numai cu fereastra Command


History activ

Pentru a fcea vizibile i restul ferestrelor este nevoie de a seta


vizibilitatea default

a) Matlab 6 b) Matlab 7
Fig.I.4. Setarea vizibilitii tuturor ferestrelor:
9
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Programele pot fi redactate intr-un editor de texte i pe urm


copiat n rndul de comand folosind Clipboard-ul. Exemplele din
prezenta lucrare servesc pentru antrenare n aplicrile MATLAB. n
versiunea 6.1 era posibil copierea chiar i cu simbolurile rndului de
introducere >> sistemul automat le v-a omite, iar n versiunile
mai mari sistemul nu le omite i d eroare.
Care editor de folosit? Editorul intern a MATLAB, Notepad,
MS Word, redactorul intern al NORTON Comander sau FAR
Manager. ns exist diferene intre ele. MS Word este un redactor
mai sofisticat i ceea ce vedem noi pe ecran nu tot timpul v-a nelege
MATLAB, pe cnd celelalte editoare enumerate mai sus sunt editoare
simple. Exemplul de mai jos pare simplu, ns la inserare din MS
Word n MATLAB v-a da trei greeli (acest exemplu v-a fi analizat n
capitolul 1.10).
x=10 2 3

Totui cel mai comod editor pentru MATLAB este redactorul


intern (incorporat) al lui, deoarece el are aceleai faciliti ca i linia
de comanda, plus avantajele unui translator executarea pas cu pas,
setarea punctelor de stopare a programului etc.

Fig.I.5. Fereastra editorului intern a MATLAB

Unicul neajuns este c erorile apar numai n fereastra liniei de


comand.
Pentru lansarea Editorului intern din MATLAB este nevoie de a
face clic pe butonul New M-file pe panelul de instrumente a
mediului de lucru sau de selectat meniul File->New-> M-file. Pe
ecran va aprea fereastra redactorului.

10
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig.I.6. Butonul de lansare a editorului intern a MATLAB

Sfaturi practice.
Exemplele din lucrarea de laborator nr.1 e preferabil s le
ncercai din linia de comand pentru a vedea i a nltura erorile,
iar restul lucrrilor - s folosii redactorul intern.

Lucrarea 1. Elemente ale sistemului MATLAB

1.1. Comenzile de redactare a rndului

Cnd se lucreaz cu MATLAB n regim de comand, se aplic


comenzile de redactare a rndului, indicate n tabelul 1.1.
Tabelul 1.1
Comenzile de redactare a rndului n MATLAB.
Combinaia
Tasta Destinare
de taste
Rsfoirea comenzilor precedente (n
Ctrl+P sus) pentru includerea n rndul de
introducere
Rsfoirea comenzilor urmtoare (n
Ctrl+N jos) pentru includerea n rndul de
introducere
Deplasarea cursorului la nceputul
Ctrl+Home
ferestrei Command Window
Deplasarea cursorului la sfritul
Ctrl+End
ferestrei Command Window
Deplasarea cursorului n stnga la un
Ctrl+B
simbol
Deplasarea cursorului n dreapta la
Ctrl+F
un simbol

11
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Deplasarea cursorului n stnga la un


Ctrl+
cuvnt
Deplasarea cursorului n dreapta la
Ctrl+
un cuvnt
Deplasarea cursorului la nceputul
Home Ctrl+A
rndului de comand
Deplasarea cursorului la sfritul
End Ctrl+E
rndului de comand
Esc Ctrl+U Curirea rndului de introducere
tergerea simbolului la dreapta de
Delete Ctrl+D
cursor
tergerea simbolului la stnga de
Backspace Ctrl+H
cursor
Ctrl+K tergerea pn la sfritul rndului
Activarea/dezactivarea regimului de
Ins
includere
Shift+Home Selectarea pn la nceputul rndului
Shift+End Selectarea pana la sfritul rndului
PgUp Rsfoirea foilor sesiunii n sus
PgDn Rsfoirea foilor sesiunii n jos
Executarea comenzii. Daca exist
ceva selectat in fereastra command
Enter windows textul selectat este adugat
la rndul de comand nainte de
executare

Repetarea executrii rndului n linia de comanda e posibil


prin dou metode:
1) rsfoirea comenzilor n linia de comand i apsnd
<ENTER>;
2) gsirea comenzii n fereastra Command History i fcnd
dublu clic cu mausul pe ea.
12
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

inei minte:
Fereastra Command Window ofer posibilitatea de
redactare numai a ultimului rnd de comand. S nu v mire
faptul, c cursorul -l putei muta n rndurile precedente i nu le
putei redacta.

1.2. Comenzile de dirijare a ferestrei n


regimul de comand

clc - cur ecranul i pune cursorul n colul de sus din stnga a


ecranului gol.
home - ntoarce cursorul n colul de sus din stnga a ferestrei.
echo on deschide regimul de scoatere pe ecran a codului
surs.
echo on nchide regimul de scoatere pe ecran a codului surs.
echo <file_name> on deschide regimul de scoatere la ecran a
codului surs a fiierului
<file_name>.
echo <file_name> off nchide regimul de scoatere la ecran a
codului surs a fiierului
<file_name>.
echo <file_name> - schimb regimul de scoatere la ecran la
opus.
echo on all deschide regimul de scoatere la ecran a codului
surs a tuturor m-fiierelor.
echo off all nchide regimul de scoatere la ecran a codului
surs a tuturor m-fiierelor.
more on - deschide regimul de scoatere la ecran a rezultatelor
pe pagini. Se folosete la vizionarea rezultatelor
voluminoase.
more off - nchide regimul de scoatere la ecran pe pagini.
1.3. Regimul de comand

13
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Seansul de lucru cu MATLAB se numete sesiune (session).


Sesiunea, n realitate, este un document curent, care reflect lucrul
utilizatorului cu sistemul MATLAB. n ea sunt rnduri de introducere
(cu simbolul >>), de extragere (cu simbolul ans=) i de informaii
despre erori (??? Error).
MATLAB permite de a efectua calcule foarte complicate n
regimul de calcule directe, adic fr a pregti o program.
Utilizatorul culege cu tastatura expresia respectiv, o redacteaz
(dac este necesar) n rndul de comand i apas <ENTER>. Pe
ecran apare rezultatul n rndul ans= sau x=.

n cazul cnd expresia matematic care trebuie s fie introdus


este foarte lung, o parte din ea poate fi trecut ntr-un rnd nou cu
ajutorul semnului ... (3 sau mai multe puncte), de exemplu

>> X = 3 + 2 - 4 + 5 +...
7 +1 + 2 - 3

Semnul operaiei se indic naintea celor 3 puncte, i se tasteaz


<ENTER>. Aceast metod e comod pentru a pstra ntregul
document n limitele ferestrei deschise. n general, ntr-un rnd pot fi
4096 de simboluri.

n cazul cnd avem nevoie ntr-un rnd s scriem dou expresii


le scriem prin virgul, de exemplu

>> a=3,25*(0.7-3.5/5.1)+2.3^3
a=
3
ans =
12.5101

n cazul dat s-au calculat dou expresii : a=3 i 25*(0.7-


3.5/5.1)+2.3^3.
Pentru a opri apariia rezultatului expresiile trebuie s se
termine cu punct i virgul :
14
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> x = 0.2;
>> y = -3.9;
>> a = sin(4/3*pi*x)+exp(0.1*y);
>> b = cos(4/3*pi*x)+exp(0.1*y);
>> c = sqrt(a/b)+(a/b) ^ (1/3)
c=
2.0451

1.4. Expresiile aritmetice

Ca i alte limbaje de programare MATLAB permite calcularea


expresiilor matematice, dar n comparaie cu majoritatea limbajelor,
aceste expresii implic la calculare matricea ntreag.
Expresiile matematice n MATLAB sunt formate din numere,
semnele operaiilor aritmetice, variabile i funcii introduse.

1.4.1. Numerele

Pentru numere MATLAB folosete notaia convenional


decimal, n fa cu semnul plus sau minus iar partea zecimal a
numrului se desparte prin punct. Unele exemple a numerelor:
3 -99 0.0001 -9.6397238

Simbolul e servete pentru a scrie numerele n form


exponenial, adic indic puterea numrului zece. De exemplu,
numerele 0.00215 i 2.15e-3 sunt echivalente. Numerele complexe se
scriu cu ajutorul literei i sau j.

>>2.15e-3
ans = 0.00215
>> 5*(2.2+3.9i)+0.8
ans = 11.8000+19.5000i
Toate numerele sunt stocate n seansul de lucru folosind
formatul lung specificat de IEEE - standardul virgulei mobile.

15
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Numerele cu virgul mobil au o precizie finit cu 16 numere dup


virgul, iar valoarea n intervalul de la 10-308 pn la 10+308.

1.4.2. Operaiile aritmetice

Expresiile matematice folosesc urmtoarele operaii aritmetice


i regulile lor:
+ Adunarea;
- Scderea;
* nmulirea;
/ mprirea;
\ mprirea la stnga (descris n "Matrices and Linear
Algebra" n documentaia MATLAB);
^ ridicarea la putere;
' Transpunerea matricei (Complex conjugate
transpose);
( ) Specificarea prioritii de evaluare.

inei minte:
Expresiile matematice se calcul conform regulilor de
prioritate a operaiilor i de la stnga la dreapta:
a *b
a*b/c este echivalent cu ,
c
ns
a
a/b*c este echivalent cu *c .
b

Exemplu de mprirea la stnga:

>> 1\2/5
ans = 0.4000
>> 1/2\5
ans = 10

16
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

n primul exemplu 1\2/5 se execut n felul urmtor - 2/1 i


rezultatul se mparte la 5, iar n exemplul doi 1/2\5 1 se mparte
la 2, iar 5 se mparte la rezultat obinut.

1.5. Variabilele

MATLAB nu necesit declararea tipului sau dimensiunilor


variabilelor. Cnd MATLAB are nevoie de o variabil nou,
programul automat creeaz variabila i aloc memorie. Dac
variabila deja exist, MATLAB schimb coninutul ei i, dac e
necesar, aloc spaiu nou. Ca semn de atribuire a valorii sau a
expresiei se folosete = i rezultatul apare direct n fereastra de
comand, de exemplu:

>> num_students = 25
num_students = 25

creeaz o matrice 1x1 cu numele num_students i-i atribuie


valoarea 25 n singurul ei element.

inei minte:
Numele variabilei se ncepe cu o liter, urmat de un numr
arbitrar de litere, cifre sau semnul de subliniere "_". n numele
variabilei spaiul (locul gol) nu se admite. MATLAB folosete
doar primele 31 de caractere din numele variabilei.
Trebuie de inut cont c MATLAB este case sensitive -
literele majuscule i minuscule se deosebesc. Variabilele "A" i "a"
nu sunt aceleai.

La calcularea unei expresii din rndul de comand rspunsul se


nscrie n variabil redefinit special ans (din englez "answer" -
rspuns):

>> 2.15+1.07
ans =3.2200
>> ans-0.22
17
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

ans =3.0000

Valoarea ans se va schimba dup calculul expresiei urmtoare.

1.5.1. Vizualizarea variabilelor

n oriice moment poate fi extras valoarea variabilei n


fereastra de comand. Pentru aceasta trebuie de cules numele
variabilei n rndul de comand i de apsat <ENTER>, ori de
utilizat funcia disp (din englez "display" a vizualiza):

>> a
a=
-1.34
>> disp(a)
-1.34

Pentru a opri imprimarea la ecran a valorii expresiei sau


variabilei la sfritul ei se pune ;

Vizionarea listei variabilelor n mediul de lucru se efectueaz


cu ajutorul comenzii whos (din englez "whos" a cui). Presupunem,
c variabilelor a i b le-au fost atribuite valori. Chemai comanda
whos indicnd n calitate de parametru a comenzii numele
variabilelor. n fereastra de comand apare tabelul prezentat mai jos.

>> b=2.98+3.86i;
>> whos a b
Name Size Bytes Class
a 1x1 8 double array
b 1x1 16 array
(complex)
Crand total is 2 elements using 24 bytes

n coloana Class este indicat tipul variabilei, n Bytes -


numrul de bii, pentru a pstra valoarea, iar Size conine informaia
18
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

despre dimensiune. Dup tabel e plasat un rnd cu numrul total al


volumului de memorie n octei pe care le ocup toate variabilele.

1.5.2. tergerea determinrii variabilelor

n memoria calculatorului variabilele ocup un anumit loc,


numit spaiu de lucru (workspace). Pentru a curi spaiul de lucru se
utilizeaz funcia clear n diferite forme, de exemplu:
o clear - tergerea determinrii tuturor variabilelor
o clear x - tergerea determinrii unei variabile (n cazul dat
x)
o clear a b c - tergerea determinrii ctorva variabile
(n cazul dat a, b c).
Variabila tears devine nedeterminat. Folosirea variabilelor
nedeterminate nu se permite i aa ncercri vor da anunuri de
eroare. ncercai s experimentai cu aceast funcie mpreun cu
comanda whos :

>> whos
>> clear a b
>> whos
>> clear
>> whos

1.5.2. Fereastra Workspace

n fereastra Workspace (v. fig. 1.7) se afla lista tuturor


variabilelor n form de tabel ca i la comanda whos cu o singur
diferen n ea este si un cmp cu valoarea variabilei.

19
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig. 1.7. Fereastra Workspace

Din fereastra Workspace e posibil:


1) de redactat valoarea variabilei: dac variabila e un simplu
numr se face un clic pe valoarea ei, iar dac e matrice
fcnd dublu clic pe variabil se deschide un tabel cu
valorile elementelor care pot fi redactate;
2) de schimbat numele variabilei (de exemplu - ca s nu pornim
programul de la nceput, dac am greit numele variabilei n
majuscule-minuscule);
3) de duplicat variabila cu valoarea ei;
4) de ters o singur variabil sau pe toate odat (analogic
clear);
5) de creat grafice de la valorile variabilelor.

1.6. Formatul numerelor

MATLAB automat trece n domeniul numerelor complexe


continund calculele. Comanda format servete pentru stabilirea
formatului din rndul de comand. Poate fi stabilit unul din
urmtoare formate:
short format scurt cu punct plutitor cu 4 cifre dup
punctul zecimal (se folosete iniial - default)
long format lung cu punct plutitor cu 14 cifre dup
punctul zecimal

20
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

short e format exponenial cu 4 cifre dup punctul


zecimal
long e format exponenial cu 15 cifre dup punctul
zecimal
short g cea mai bun prezentare a datelor sau n formatul
short sau n short e
hex prezentarea numrului prin 16 cifre
+ datele pozitive i negative se arat prin semnele
+ i - dar cele nule- prin goluri.
bank format pentru scoaterea sumelor bneti cu dou
semne dup punctul zecimal
rat numerele reale se prezint aproximativ ca raportul
a dou numere mici ntregi
Independent de formatul stabilit toate calculele se fac cu
precizie dubl, prin urmare dup schimbul formatului de la short la
long nu se cere de gsit din nou valoarea variabilelor. Este suficient
de a scoate din nou valorile lor n fereastra de comand.

>>a=1/3333; b=1/4; c=0.123456789;


>> format short; a, b, c
a = 3.0003e-004
b = 0.2500
c = 0.1235
>> format long; a, b, c
a = 3.000300030003001e-004
b = 0.25000000000000
c = 0.12345678900000
>> format hex; a, b, c
a = 3f33a9ab0cfb01ec
b = 3fd0000000000000
c = 3fbf9add3739635f
>> format +; a
a =+
>> format bank; a, b, c
a = 0.00
b = 0.25
21
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

c = 0.12
>> format rat; a, b, c
a = 1/3333
b = 1/4
c = 10/81

MATLAB admite dou metode de vizualizare a rezultatelor n


fereastra de comand:
compact rndurile cu rezultatele se scot la rnd.
loose rndurile cu rezultate se despart prin rnd gol.
Experimentai cu aceste moduri de sinestttor, vizualiznd
variabilele a, b i c.

1.7. Funciile matematice

MATLAB are un numr mare de funcii matematice introduse.


Unele din ele sunt prezentate n tabelul 1.7. Lista complet a tuturor
funciilor matematice elementare poate fi obinut, culegnd n
rndul de comand help elfun (din englez "elfun" "elementary
functions" funcii elementare). Pentru a obine informaia
amnunit despre sintaxa unei funcii culegei i executai n linia de
comand help <numele funciei>.
Tabelul 1.7
Funciile matematice principale

Funciile trigonometrice (argumentul se d n radiani)


sin, cos, tan, cot Sinus, cosinus, tangenta, i cotangenta
sec, csc Secanta, cosecanta
Funciile trigonometrice inverse (rezultatul se calculeaz n
radiani)
asin, acos, Arcsinus, arccosinus, arctangenta i
atan, acot arccotangent
asec, acsc Arcsecanta, arccosecanta
Funciile hiperbolice
sinh, cosh, Sinus, cosinus, tangenta i cotangenta
tanh, coth hiperbolice
sech, csch Secant i cosecant hiperbolice
22
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

asinh, acosh, Arcsinus, arccosinus, arctangent i


atanh, acoth arccotangent;
Funcie exponenial, logaritmii, funciile de putere
exp Funcia exponenial
log, log2, log10 Logaritm natural, logaritmii n baza 2 i 10
pow2 Ridicarea la ptrat
sqrt, nthroot Rdcin ptrat, rdcina de ordinul N
Modul, semnul i funciile pentru lucrul cu numere complexe
abs, sign Modulul i semnul numrului
conj, imag, real Complex-conjugat, partea imaginar i real
Funcii speciale a constantelor cel mai des folosite
pi 3.14159265...
i, j unitatea imaginar, 1
eps eroarea relativ, 2 52
realmin cel mai mic numr real, 2 1022
realmax cel mai mare numr real, ( 2 ) 21023
Inf Infinit
NaN Nu este numr (Not-a-number)

inei minte:
La executarea funciei matematice argumentul se scrie n
paranteze rotunde imediat dup numele funciei.

Fie, de exemplu, c trebuie de gsit valoarea expresiei de mai


jos cnd x = 0.2 i y = -3.9:
4 4
sin x e 0.1 y sin x e 0.1 y
c 3 3 3
4 4
cos x e 0.1 y cos x e 0.1 y
3 3
n pachetul MATLAB vom avea:

>> x=0.2;
>> y= -3.9;
>> c=sqrt((sin(4/3*pi*x)+exp(0.1*y))/(cos(4/3*pi*x)+...
exp(0.1*y)))+((sin(4/3*pi*x)+exp(0.1*y))/(cos(4/3*pi*x)+...

23
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

exp(0.1*y)))^(1/3)
c=
2.0451

Este mai simplu de a rezolva aceast problem, aplicnd


variabilele intermediare:

>> x=0.2;
>> y= -3.9;
>> a= sin(4/3*pi*x)+exp(0.1*y);
>> b= cos(4/3*pi*x)+exp(0.1*y);
>> c=sqrt(a/b)+(a/b) ^ (1/3)
c=
2.0451

1.8. Vectorii i matricele

n MATLAB matricea este un masiv rectangular de numere.


Masivele sunt unul din cele mai rspndite procedee de pstrare a
datelor i se folosesc n toate limbajele de programare. Sistemul
MATLAB opereaz cu matrice mn. Scalarul este o matrice 11. n
MATLAB masivul unidimensional poate fi vector-rnd sau vector-
coloan. Vectorul este o matrice de tipul 1n. MATLAB are i alte
forme de a stocare a datelor, att numerice ct i non-numerice, dar
ele sunt cazuri particulare a matricelor.

inei minte:
Avantajele MATLAB-ului:
- n timp, ce unele limbaje de programare lucreaz doar cu
cte un element din matrice, MATLAB permite s lucrm cu
ntreaga matrice repede i uor.
- nu este necesar s declarm dimensiunile matricelor - ele
pot fi redimensionate pe parcursul lucrului.

24
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

1.8.1. Matricele

Pentru a introduce orice matrice trebuie de inut cont de regulile


urmtoare:
de separat elementele unui rnd prin virgul sau spaiu
(lacune)
de folosit ; pentru a indica sfritul fiecrui rnd
de luat toat lista de elemente n paranteze ptrate

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


a=
1 2 3 4 5 6 7 8 9
>> b=[1 2 3; 4 5 6; 7 8 9; 10 11 12];
b=
1 2 3
4 5 6
7 8 9
10 11 12
>> c=[1 4 7 10; 2 5 8 11; 3 6 9 12]
c=
1 4 7 10
2 5 8 11
3 6 9 12

Vectorii sunt cazuri particulare a matricelor cu o singur linie


sau cu o singur coloan:
>> vl = [7 3 5 9]
>> vl = [7,3,5,9]
>> vc = [9;5;3;7]

1.8.2. Introducerea matricelor

Matricea (vectorul) se poate de introdus n cteva metode:


- introducerea explicit a elementelor
- citirea matricei dintr-un fiier cu date

25
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

- generarea matricei folosind operatorul colon


- generarea matricei folosind o funcie intern din MATLAB
- crearea matricei cu funcia personal din M-fiier

Introducerea explicit a elementelor matricelor de dimensiuni


mici este comod din rndul de comand. Exist mai multe procedee
de a introduce o matrice. De exemplu, matricea
1 4 7 10
c 2 5 8 11
3 6 9 12
>> c=[1 4 7 10; 2 5 8 11; 3 6 9 12]
>> % sau c=[1,4,7,10; 2,5,8,11; 3,6,9,12]
c=
1 4 7 10
2 5 8 11
3 6 9 12
Ea poate fi introdus din rndul de comand culegnd expresia
c=[14710 i apsm <ENTER>. Cursorul se deplaseaz n rndul
urmtor (simbolul >> nu apare). Elementele fiecrui urmtor rnd al
matricei se culeg i sfritul fiecrui rnd se termin cu apsarea
tastei <ENTER>. Dup introducerea ultimului rnd la urm se pune
paranteza ptrat de nchidere:
>> c=[1 4 7 10
2 5 8 11
3 6 9 12]

Alt procedeu const n aceea, c matricea poate fi introdus i


prin combinarea a mai multor matrice.

Matricea poate fi privit ca un vector-coloan, fiecare element


al cruia este un rnd al matricei:
1 4 7 10
c 2 5 8 11
3 6 9 12

26
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> c=[[1 4 7 10]; [2 5 8 11]; [3 6 9 12]]

Matricea poate fi considerat i ca un vector-rnd fiecare


element al cruia este coloana matricei:
1 4 7 10
11
c 2 5

8

3 6 9 12
>> c=[[1;2;3] [4;5;6] [7;8;9] [10;11;12]]

Matricea poate fi introdus i cu ajutorul la alte matrice:


>> c=[[1 4 7 10 ; 2 5 8 11]; [3 6 9 12]]
>> c=[ [[1;2;3] [4;5;6]] [7;8;9] [10;11;12] ]
>> c=[ [1 4; 2 5;3 6] [7;8;9] [10;11;12]]

Matricele pot fi introduse prin metode mixte principalul e ca


toate elementele s fie introduse. Exemplu:
1 4 7 10
c 2 5 8 11
12
3 6 9
>> c=[ [1 4] 7 10; [2;3] [5 8; 6 9] [11;12]]

Exemple. Fie, c avem de introdus vectori-coloan i vectori-


rnd
0.2 7.6
c1
3.9 c 2 0.1

4.6 2.5
r1 0.1 0.5 3.7 8.1
r 2 5.2 9.7 3.4 5.7
n MATLAB n linia de comand va fi nevoie de scris
urmtoarele rnduri
>> c1=[0.2; -3.9; 4.6];
>> c2=[7.6; 0.1; 2.5];
>> r1=[0.1 0.5 -3.7 8.1];
27
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> r2=[5.2 9.7 3.4 -0.2];

1.8.3. Operatorul colon

Operatorul colon ":" este un operator important n MATLAB.


El poate fi n cteva forme diferite.
Formatul de baz este <valoarea iniial>:< valoarea final >
rezultatul cruia este un vector elementele cruia sunt de la valoarea
iniial pn la valoarea final.
Urmtoarea expresia este un vector rnd care conine numerele
ntregi de la 1 la 10:

>> a = 1:9
a= 1 2 3 4 5 6 7 8 9
Deoarece rezultatul operatorului colon este un vector
urmtoarea expresie este echivalent cu cea precedent:

>> a = [1:9]
a= 1 2 3 4 5 6 7 8 9
Aceleai matrice, artate anterior, pot fi introduse n felul urmtor

>> a=[1:9]; b=[1:3;4:6;7:9;10:12];


>> c=[[1:3]` [4:6]` [7:9]` [10:12]`];

Pentru a obine o incrementare neunitar, trebuie de specificat


pasul. Formatul este:
<valoarea iniial>:<valoarea pasului>:< valoarea final >

De exemplu:
>> 100:-7:50
100 93 86 79 72 65 58 51
>> 0:pi/4:pi
0 0.7854 1.5708 2.3562 3.1416
1.8.4. Generarea matricelor

28
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

ZEROS - generarea unei matrice elementele creia este 0.


Sintaxa este zeros(m,n) unde m i n sunt dimensiunile matricei
rezultante, iar dac m=n atunci zeros(n) unde n este dimensiunea
matricei ptrate rezultante. Apelarea la funcia zeros fr argument
este un scalar cu valoare 0.
ONES - generarea unei matrice elementele creia este 1.
Sintaxa este ones(m,n) unde m i n sunt dimensiunile matricei
rezultante, iar dac m=n atunci ones(n) unde n este dimensiunea
matricei ptrate rezultante. Apelarea la funcia ones fr argument
este un scalar cu valoare 1. Generarea unei matrice elementele creia
vor fi egale cu un numr k se execut n felul urmtor k*ones(m,n)
RAND - crearea unei matrice cu elemente aleatorii. Sintaxa
este rand(m,n) unde m i n sunt dimensiunile matricei rezultante, iar
dac m=n atunci rand(n) unde n este dimensiunea matricei ptrate
rezultante. Apelarea la funcia rand fr argument este un scalar cu
valoare aleatorie.
EYE - crearea unei matrice diagonala creia este egal cu 1 iar
restul sunt 0. Sintaxa este eye(m,n) unde m i n sunt dimensiunile
matricei rezultante, iar dac m=n atunci eye(n) unde n este
dimensiunea matricei ptrate rezultante. Apelarea la funcia eye fr
argument este un scalar cu valoarea 1.
MAGIC - crearea unei matrice ptrate magice sumele
elementelor fiecrui rnd i fiecrei coloane sunt egale. Sintaxa este
magic(n) unde n este dimensiunea matricei ptrate.
Exist i alte funcii, aa ca: hadamard matricea Hadamard,
hilb - matricea Hilbert, invhilb - matricea Hilbert inversa, pascal -
matricea Pascal, vander matricea Vandermonde, wilkinson
matricea Wilkinson's etc.

1.8.5. Apelri la matrice

Pentru accesarea unui element al matricei este nevoie de scris


variabila matricei i n paranteze rotunde de indicat numrul de
ordine al elementului necesar, n caz general este M(y,x): unde M este
numele matricei, x,y este numrul liniei i numrul coloanei al
elementului dat.
29
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> b(2,3)
ans = 6
>> c(3,4)
ans = 12
Pentru un vector sintaxa este de V(n), unde n este numrul de
ordine al elementului necesar, indiferent dac vectorul este vector-
rnd sau vector-coloan.
>> vl(2)
ans =3
>> vc(2)
ans =5

n matricea M(m,n) elementul din rndul i i coloana j se


noteaz ca M(i,j). De asemenea e posibil de adresat la elementul
M(i,j) cu un singur index M(k) (fig. 1.8). Aceasta este metoda
obinuit de apelare la elementele unui vector rnd sau vector
coloan, dar, totodat, poate fi aplicat i la matrice bidimensionale.
n aa caz masivul reiese ca un vector mare format din elementele
matricei originale:

Fig. 1.8. Apelarea la matrice folosind un singur index

unde M(k)=M((i-1)*n+j), 1im , 1jn , 1km*n

Adresarea la matrice, folosind operatorul colon, se va referi la o


poriune din matrice. Rezultatul unei astfel de apelri va fi o alt
matrice coninutul creia vor fi elementele apelate. Aa dar, adresarea
A(i1:i2 , j1:j2) se va referi la elementele din coloanele de la j1 pn
la j2 din rndurile de la i1 pn la i2 inclusiv (fig. 1.9).

30
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig. 1.9. Rezultatul adresrii la matrice A(i1:i2 , j1:j2)

n aa mod se poate de setat automat o poriune a matricei cu o


valoare anumit:
>> d=c; d(1:2,2:3)=0
d=
1 0 0 10
2 0 0 11
3 6 9 12

Operatorul colon indicat fr valori refer la toate elementele


din rnd sau coloan a matricei iar cuvntul cheie "end" refer la
ultimul rnd sau ultima coloan. Exemplu de mai jos va indica
elementele din toate rndurile din ultima coloana:
>> c(:,end)
ans =
10
11
12

Dac vei ncerca s apelai la un element n afara limitelor


matricei vei primi o eroare:
>> a(0),a(10),vl(0),vl(5),vc(0),vc(5),b(0,1),c(4,5)
Index exceeds matrix dimensions.
Pe de alt parte, dac vei memoriza un element n afara
matricei, dimensiunile ei vor crete pn nu va ndestula rezultatul:

>> d=c; d(3,5) = 15


31
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

d=
1 4 7 10 0
2 5 8 11 0
3 6 9 12 15

Pentru rearanjarea coloanelor sau liniilor unei matrice este


nevoie la apelare n loc de index de indicat un vector cu lista liniilor
sau coloanelor ce trebuie rearanjate:
>> c(:,[1 3 2 4])
ans =
1 7 4 10
2 8 5 11
3 9 6 12
>> c([1 3 2],:)
1 4 7 10
3 6 9 12
2 5 8 11
Dac rearanjm i coloanele i liniile concomitent MATLAB
mai nti rearanjeaz coloanele iar pe urm liniile:
>> c([3 1 2], [2 1 3 4]); c(:, [2 1 3 4]); ans([3 1 2], :)
ans =
6 3 9 12
4 1 7 10
5 2 8 11

1.8.6. Dimensiunile matricei.

Pentru a calcula lungimea vectorului se folosete funcia length,


iar vectorul se indic ca argument
>> length(a)
ans=9
Dac argumentul este o matrice, atunci funcia length va indica
dimensiunea maxim dintre numrul de rnduri sau coloane
>> length(b)
ans=4

32
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Funcia size determin dimensiunile masivului. Ea prezint


rezultatul n form de vector format din dou elemente: primul
element este egal cu numrul de rnduri, iar al doilea cu numrul
de coloane
>> sc=size(c)
sc =
3 4
Din paragraful precedent tim, c dac memorizm un element
n afara matricei, dimensiunile ei vor crete pn nu va ndestula
rezultatul:
>> d=c; d(3,5) = 15;
>> size(d)
ans =
3 5
Dac avem nevoie de ters o linie sau coloan este nevoie de
egalat aceast coloan cu un vector nul:
>> d(:,5)=[], size(d)
d=
1 4 7 10
2 5 8 11
3 6 9 12
ans =
3 4

1.8.7. Operaiile cu matrice.

Matricele de aceleai dimensiuni se adun i se scad una din


alta cu ajutorul semnelor + i -. Aceasta este valabil i pentru vectori:
>> c3=c1+c2; c4=c1-c2;
>> l3=l1+l2; l4=l1-l2;
Semnul * servete pentru nmulirea matricelor conform
regulilor matematice, adic A(m,n)*B(n,k)=P(m,k):
>> p= b*c
p=
14 32 50 68

33
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

32 77 122 167
50 122 194 266
68 167 266 365

Apostroful servete pentru a determina matricea transpus


(echivalent cu funcia transp). Pentru a ridica o matrice ptrat la
putere se aplic ^.

1.8.8. Operaiile cu masivele (tabelele)

Dac ne vom ndeprta de algebra liniar, matricele pot fi


privite ca masive numerice bidimensionale. Operaiile aritmetice se
nfptuiesc cu fiecare element pe rnd. Cum aceasta lucreaz? Foarte
simplu. Dac avem o expresie aritmetic cu cteva variabile:
- n primul rnd masivele trebuie s fie de aceleai
dimensiuni
- pentru fiecare pereche de elemente respective din
variabilele date se calculeaz valoarea expresiei iar
rezultatul se nscrie n elementul respectiv al variabilei
rezultante - dac avem X(m,n) i Y(m,n) i funcia F(X,Y)
atunci rezultatul va fi Z(m,n) unde Z(i,j)=F(X(i,j),Y(i,j))
De aici rezult, ca adunarea i scderea pentru masive i
matrice sunt identice - X+Y este echivalent cu X.+Y, ns operaiile
multiplicative sunt diferite - X*Y nu este echivalent cu X.*Y.
MATLAB folosete punctul . ca parte a notaiei pentru
operaiile multiplicative a masivelor.
Lista operaiilor include:
+ Adunarea
- Scderea
.* nmulirea masivelor (element cu element)
./ mprirea masivelor (element cu element)
.\ mprirea la stnga a masivelor (element cu element)
.^ Ridicarea la putere a masivelor (element cu element)
.' Transpunerea masivelor

De exemplu, pentru vectorii precedeni :


34
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> c2=[20:23; 30:33; 40:43]


>> c3=c .* c2
c3 =
20 84 154 230
60 155 256 363
120 246 378 516

Un exemplu de calculul a funciilor mai complicate de la


valorile vectorilor.
Des se cere de a calcula o funcie de la valorile argumentului
unui vector, care se deosebesc cu un pas constant:
x sin x x 2
f ( x) pentru x=[-1.2 1.8] cu pasul 0.5.
x 1
Consecutivitatea de comenzi este:
>> x=-1.2:0.5:1.8;
>> f=(x.*sin(x)+x.^2)./(x+1);
i duce la crearea vectorilor:
>> x
x = -1.2000 -0.7000 -0.2000 0.3000 0.8000 1.3000
1.8000
>> f
f = -12.7922 3.1365 0.0997 0.1374 0.6744 1.2794
1.7832

1.8.9. Lucrul cu matricele.

Vectorii pot fi argumente la funcii, ca sin, cos etc. n rezultat se


obine un vector cu elementele egale cu valorile funciei respective de la elementele vectorului iniial, de exemplu:

>> sin(a)
ans =
0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570
0.9894 0.4121
>> sin([0 pi/2 pi])
ans =
0 1.0000 0.0000

35
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Operaia de transpunere se nseamn cu un apostrof '.


Operaia inverseaz matricea fa de diagonala principal i preface
un vector rnd n vector coloan i viceversa.
>> b'
ans =
1 4 7 10
2 5 8 11
3 6 9 12
>> c'
ans =
1 2 3
4 5 6
7 8 9
10 11 12

FLIPLR inverseaz matricea n direcia din stnga n dreapta.


FLIPUD inverseaz matricea de sus n jos.
De exemplu:
>>fliplr(b)
ans =
10 3 2 1
11 6 5 4
12 9 8 7
>> flipud(b)
ans =
10 11 12
7 8 9
4 5 6
1 2 3
SUM suma elementelor.
S = SUM(X) este suma elementelor a vectorului X. Dac X este
matrice, S este un vector cu sumele fiecrei coloane.
>> sum(a),sum(b)
ans =
45
ans =
36
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

22 26 30

Suma tuturor elementelor tabelei se poate de obinut prin


SUM(SUM(X)). Cum de calculat suma rndurilor? MATLAB
prefer s lucreze cu coloanele matricelor, deci, cel mai uor mod de
a calcula suma rndurilor este:
1) transpunerea matricei;
2) calcularea sumei coloanelor a matricei transpuse;
3) transpunerea rezultatului primit.
>> sum(a')',sum(b')'
ans =
45
ans =
6
15
24
33

DIAG este: 1-matrice diagonal din vector i 2-vector format


din diagonala matricei.
DIAG(V,K) cnd V este un vector cu N elemente este o matrice
ptrat cu rangul N+ABS(K) cu elementele vectorului V n diagonala
K. Dac K > 0 este diagonala mai sus de diagonala principal iar
cnd K < 0 - mai jos de diagonala principal. Dac K = 0, atunci
DIAG(V) este echivalent cu DIAG(V,0) i seteaz elementele
vectorului V n diagonala principal.
Cnd X este o matrice, rezultatul DIAG(X,K), este un vector
coloan format din elementele diagonalei K din X. Rezultatul
DIAG(X) este un vector coloan format din elementele diagonalei
principale din X.
>> diag([1 2 3]) >> diag(a,1) >> diag(a,-1)
ans = ans = ans =
0 1 0 0 0 1 0 0 0 0 0 0
0 0 2 0 0 0 2 0 1 0 0 0
0 0 0 3 0 0 0 3 0 2 0 0
0 0 0 0 0 0 0 0 0 0 3 0
37
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

DIAG(DIAG(X)) este o matrice diagonal.


Diagonala secundar matematic nu este important, de aceea
MATLAB nu are funcie pentru ea, dar e posibil de calculat -
diag(fliplr(b)).

1.9. Anunul despre erori i ndreptarea


erorilor

MATLAB controleaz comenzile introduse i expresiile i


anun despre erori sau prentmpinri. S considerm un exemplu.
S introducem greit expresia i s apsm tasta <ENTER>. Sistemul
va anuna despre eroare:

>> sqr(2)
??? Undefined function or variable sqr.

Acest anun nseamn c nu este determinat variabila sau


funcia i indic care anume - sqr. n acest caz se poate de cules din
nou expresia corect. ns n cazul expresiilor complicate e mai bine
de folosit redactarea. Cu ajutorul tastei <> trecem n rndul
precedent redactat (vezi punctul 1.2), adic >>sqr(2) cu cursorul la
capt.
Dac utilizatorul a uitat numele oarecrei funcii se poate de
apsat tasta <TAB>, dup care sistema va analiza simbolurile
introduse i ne va da o variant (variantele) de rspuns. Fii ateni -
MATLAB analizeaz simbolurile introduse pn la cursor.
n versiunea MATLAB 7:

38
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig.1.10. Meniul de completare a comenzii n MATLAB 7

1. dac exist o singur variant, atunci dup apsarea tastei


<TAB> sistemul ar fi terminat numele funciei necunoscute fr
transferul rndului.
2. dac variante sunt cteva i este apsat tasta <TAB> atunci
apare un meniu cu toate variantele posibile sortate n ordine
alfabetic de unde e posibil de selectat doar o singur variant
dorit (fig. 1.10).

n versiunea MATLAB 6 :
1. dac exist o singur variant, atunci dup apsarea tastei
<TAB> sistemul ar fi terminat numele funciei
necunoscute fr transferul rndului.
2. dac variante sunt cteva i tasta <TAB> se apas doar o
singur dat atunci MATLAB d un sunet de avertizare
3. dac variante sunt cteva i tasta <TAB> va fi apsat
dublu atunci MATLAB va afia variantele posibile n
fereastra Command Window i va repeta linia de
comand introdus.
S considerm un exemplu:

>> cl<TAB>
cl2tf cleanaxe clg cloop
clusterdata cla cleanerrormsg clipboard
39
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

close clutch clabel cleanp


clipdata close_system clutch_if cliprollregions
clabelm closereq cleanupcomment
class clear cliptr clrmenu
clutchplot_if classfin clearcase clma
clrpopup clxbode classify clegendm
clmo clruprop clyap clc
clf clock cluster
>> cle<TAB>
cleanaxe cleanp clear
clegendm
cleanerrormsg cleanupcomment clearcase
>> cleanupc<TAB>
>> cleanupcomment

La introducerea unei expresii matematice greite sau a unui


simbol necunoscut MATLAB anun despre eroare i indic locul
erorii cu un indicator de tip |.
Exemplu. Memorizai din Word n clipboard i inserai n
MATLAB urmtoarea expresie : x=10 2 3
>> x=10 2 3
??? x=10 2 ? 3
|
Error: Missing variable or function.
>> x=10 2 3
??? x=10 2 ? 3
|
Error: Missing operator, comma, or semicolon.

Command windows din MATLAB 7 in comparaie cu


MATLAB 6 este mai sofisticat i arat simbolurile din Word aa cum
sunt n Word, ns tot le evideniaz ca greeli (de ex., fig.1.11, a) i
b)).

40
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

a) Matlab 6 b) Matlab 7

Fig.1.11. Simbolurile necunoscute n MATLAB

MATLAB are un ajutor foarte bogat. Comanda help prezint n


fereastra de comand lista diviziunilor sistemului de informaii.
Pentru a obine coninutul diviziunii trebuie de indicat help i printr-
un spaiu (loc gol) numele ei, iar pentru a extrage informaia detailat
despre o funcie oarecare, trebuie de introdus n rndul cu help
numele funciei:

>> help sqrt


SQRT Square root.
SQRT(X) is the square root of the elements of X. Complex
results are produced if X is not positive.

See also SQRTM.

Overloaded methods
help sym/sqrt.m

La scrierea expresiilor matematice cu multe paranteze des se


ntmpl scparea unor paranteze deschise sau nchise de prisos, care
la executare v-a da eroare:

41
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig.1.12. Exemplu de eroare cu paranteze de prisos

n cazul acesta MATLAB ofer posibilitatea de a gsi perechile


de paranteze (indiferent de care - ")", "]", "}") i ajut la corectarea
expresiilor (fig. 1.12). Acest ajutor sistemul MATLAB l arat doar
cteva secunde.

n versiunea MATLAB 7:
Acest ajutor n aceast versiune este mai avansat.

a) perechea gsit b) fr pereche


Fig.1.13. Exemplu cu perechile de paranteze.

Plasnd cursorul dup o parantez, MATLAB i caut perechea


i dac o gsete le subliniaz pe ambele, iar dac perechea nu a fost
gsit paranteza la care a fost plasat cursorul este ntretiat, dnd de
tire c trebuie eliminat (fig. 1.13).

n versiunea MATLAB 6:
n aceast versiune MATLAB caut perechile doar la
editarea rndului - dac gsete perechea la paranteza introdus
atunci automat le evideniaz pe ambele.

42
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Sfaturi practice.
nceputul fiecrui program ncepei cu tergerea tuturor
variabilelor din sesiune. Aceasta v d posibilitatea s evitai
eroarea folosirii variabilelor determinate din programul precedent.
Preferabil ca orice program s se nceap cu comenzile
clear;
format compact;

Sarcina Lucrrii Nr 1.
I. Descriei comenzile de baz n regimul de comand a Programului
MATLAB.

II. n toate exerciiile se cere de a introduce ntr-o variabil oarecare


valorile expresiilor cnd x = -1.75*10-3 i y = 3.1. De calculat
expresiile mai nti ntr-un rnd, iar pe urm de optimizat (dup
posibilitate) folosind variabilele intermediare. De prezentat rezultatul
n diferite formate i de studiat informaia despre variabile cu
ajutorul comenzii whos.

Vari
Expresiile
anta
3.5
e x sin y e x cos y e x sin y
F1 x x sin y;
x sin y e sin y e x cos y
1
5 2 x sin y x x ln y
F2 arctg ;
x ln y 5 2 x sin y

43
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

x ctgy
2.5 3
x ln cos y
A1 ;
x ctgy x ln cos y
2
x cos 2 y
3

A2 sh
2

ln
x cos y sin y x;
x cos y x 2 cos 2 y
3. 1
x 3 tgy (sin y ln x ) 2.5
B1 x sin 2 x ;
sin y ln x
x tgy
3

3
x sin 3 y 1x cos y
1.3 2 2

B2 ch ln ;
x sin y
1.5
x cos2 y 1.3 3

x 1 x2 1 2 x 2
2.3

ln ctgy x
H1 ;
x 1 x2 1 2x
2
ln ctgy
4
x 2 cos 2 y
H 2 arcsin x ln y ;
x ln y

e cos y 3sin y
x 2
100 x tgy cos y
Z1 ;
100 x tgy e cos y 3sin y
x 2

5
x cos 2 y
2 3 2.3
x sin y
Z2 cth 2 ;
x sin y x cos y
2

x 1 2 x2
2.1
100 x ctgy sin y
Q1 ;
100 x ctgy
x 2
1 2 x 2

6
x cos y x 2 x sin y
3 2.2 1.3

Q2 ;
x sin y 3
x 3
cos y

44
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

5x sin y
2.2
x x tgy
2

R1 ;
50 x sin y x 2 x tgy
2 1/ 3 4

7
2 x sin 2 y x ln tgy cos y
R2 sh ;
x ln tgy 2 x sin y
1.3 1/ 3
x 2

T
x 2 x 1 3x sin y ln x cos y ;
2 3 2 1/ 3

x 1 3x
1
sin y ln x 2 3

8
T
arcsin cos 2 y x

1 2 x cos y ; 4 1/ 4

1 2x arcsin cos 2 y x sin y


2
4 1/ 4

2.5
e x sin y e x cos y x sin y
F1 3 x sin y;
x sin y e sin y e x cos y
x

9 1.3
x 2 cos 2 y
H 2 arcsin x ln y ;
x ln y

x ctgy
2.5 3
x ln cos y
A1 5 ;
x ctgy x ln cos y
10
x cos 2 y
2 2 2.3
x sin y
Z2 cth 2 ;
x sin y x cos 2
y
sin y ln x 2.5 x sin 2 y;
2.3
x 3 tgy
B1
sin y ln x x3 tgy
11
x cos y x 2 x sin y
3 1.3 1.3

Q2 ;
x sin y 3
x3 cos y

45
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

x 1 x2 1 2 x 2
2.3
ln ctgy x
H1 ;
x 1 x2 1 2x
2
ln ctgy
12
2 x sin 2 y x ln tgy cos y
R2 sh ;
x ln tgy 2 x sin 2 y
1.3 1/ 3
x

e cos y 3sin y
x 2
100 x tgy cos y
Z1 ;
100 x tgy e x cos y 3sin y
2

13
T2
arcsin cos 2 y x

1 2x 4 1/ 4
cos y
;
1 2x
4 1/ 4 arcsin cos 2 y x sin y

x 1 2 x2
2.1
100 x ctgy sin y
Q1 ;
100 x ctgy
x 2
1 2 x 2

14
5 2 x sin y x x ln y
F2 arctg ;
x ln y 5 2 x sin y

5x sin y
2.2
x x tgy
2

R1 ;
50 x 2 sin y x 2 x tgy
1/ 3 4

15
x cos 2 y
3

A2 sh
2

ln
x cos y sin y x;
x cos y x 2 cos 2 y

T
x 2 x 1 3x sin y ln x cos y ;
2 3 2 1/ 3

x 1 3x
1
sin y ln x 2 3

16
x sin y ln 1x cos y ;
1.3 3 2 2

B ch
x sin y
2 1.5
x cos y 2 1.3 3

46
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

x ctgy
2.5 3
x ln cos y
A1 ;
x ctgy x ln cos y
17 1.3
x 2 cos 2 y
H 2 arcsin x ln y ;
x ln y

sin y ln x 2.5 x sin 2 y;
3.1
x 3 tgy
B1
sin y ln x x 3 tgy
18
x cos2 y
2 3 2.3
x sin y
Z2 cth 2 ;
x sin y x cos y
2

x 1 x2 1 2 x 2
2.3

ln ctgy x
H1 ;
x 1 x2 1 2x
2
ln ctgy
19
x cos y x 2 x sin y
3 2.2 1.3

Q2 ;
x sin y 3
x 3
cos y

e cos y 3sin y
x 2
100 x tgy cos y
Z1 ;
100 x tgy e x cos y 3sin y
2

20
2 x sin 2 y x ln tgy cos y
R2 sh ;
x ln tgy 2 x sin y
1.3 1/ 3
x 2

5x sin y
2.2
x x tgy
2

R1 ;
50 x sin y x 2 x tgy
2 1/ 3 4

21
5 2 x sin y x x ln y
F2 arctg ;
x ln y 5 2 x sin y

47
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

x 1 2 x2
2.1
100 x ctgy sin y
Q1 ;
100 x ctgy
x 2
1 2 x 2

22
x cos 2 y
3

A2 sh
2

ln
x cos y sin y x;
x cos y x 2 cos 2 y

T
x 2 x 1 3x sin y ln x cos y ;
2 3 2 1/ 3

x 1 3x
1
sin y ln x 2 3

23 1.3
x 2 cos 2 y
H 2 arcsin x ln y ;
x ln y

2.3
e x sin y 2x cos y e x sin y 2 x cos y
F= ln sin y ;
200 x y 200 x y
24
x 1 x 1 2x
2 3

A 5 x 1 x 1 2x 3
2 3
;
ln ctgy
3 x sin( y ) x 1 x2
Z arctg ;
x x2 3 x sin( y )
25
e x sin y e x cos y
y
Q e sin y e cos y 1
x
;
tgy
(sin y sin 2 y sin 3 y ) 4 sin y sin 2 y sin 3 y
T 1
sin y sin 2 y sin 3 y ex ;
1 x
26 e
cos 2 y sin 4 y e x e x
H ;
e x
e x 3 sin 4 y cos 2 y 2 2

48
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

x tgy
1
ln y ln y
;
W 1
x tgy
27
x ln y
3

R sh ch x ln y x ln y ;
x ln y
2.3
e x sin y 2 x cos y e x sin y 2 x cos y
F= ln sin y
200 x y 200 x y
28
x ln y
3

R sh ch x ln y x ln y ;
x ln y

x 1 x 1 2x
2 3

A x 1 x 1 2x
2 3
5 3 ;
ln ctgy
29
cos 2 y sin 4 y e x e x
H ;
(e x e x ) 3 (sin 4 y cos 2 y 2) 2

ye x sin y e x cos y
Q e sin y e cos y 1
x
;
tgy
30 x tgy
1
ln y ln y
;
W 1
x tgy

49
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

III. De calculat valorile funciei pe segmentul dat n N puncte la


intervale egale unul de altul. Optimizai programul folosind
variabilele intermediare.

Varianta Funcia Intervalul N


1 y x ln x 1 x cos 2 x
2
, N=8
ex
2 y x x2 ln x 1,3 N=6
ex 1
3 y x e x sin x x 3 2 , 2 N=9
4 y x x 2 cos x ln x 3 0.5, 2 N=8
5 y x e x x sin x ln x 0.2,3 N=7
6 y x x 2 ln x 2 1 x sin x , N=8
7 y x e x sin x e x cos x , N=7
8 y x x ln x ch x ln x 1,3 N=5
9 y x e x x 2 1 ln x 2 1 0,3 N=7
10 y x 2sin x 2 cos x 2 1 0, 2 N=8

11 3

y x sin x ln x 2 x 2 cos x
3
2 , 2 N=6

y x e x x 2 sin x ctgx 2 , 2
2
12 N=7
13 y x ln x x cos x ln x 0.3,3 N=6
14 y x e x cos x 2 x 2 1 1,3 N=8
3
15 y x x 2 ln x 1 x cos x 2 , 2 N=7

16 y x e x e x x 2 ln x 0.2, 4 N=6
17 y x x 2 sin x ln x 4 1,3 N=7

50
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

18 y x e x cos x x 3 3 ,3 N=8
19 y x x cos x 2 thx 2 , 2 N=7
20 y x x 2 ln x 1 ctg x 1 0.3, 4 N=6
21 y x x3 xtgx sin x 2 ,3 N=8
22 y x ln x 1 x 2 sin x arcsin x 1,3 N=7
y x cos x ln x 2 x 2 sin x ,3
3
23 N=8
sin x cos x
24 y ( x) [0,2 ] N=10
x2 1
25 y ( x ) ln( x 1) e x e x [ 0.2, ] N=8
1
26 y ( x ) x 2 tg arcsin x [0, ] N=9
3
ex
27 y ( x ) x sin x x 3 [0,1] N=7
x 1
1
y( x)
28 x [0,3] N=9
1
1 x
e sin x e cos x [ ,3 ]
29 y( x) N=11
x2

30 y ( x) ctg ( x 2 1) (sin 2 x cos 2 x) [1,1] N=7

51
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Lucrarea 2. Grafica n sistemul MATLAB

2.1. Crearea graficelor

Tipul graficului selectat depinde de natura datelor i ce dorim


s artm. MATLAB are multe tipuri de grafice redefinite, aa ca
linii, bare, histograme, etc. De asemenea sunt grafice
tridimensionale, aa ca carcase, suprafee, plane, linii de contur etc.
Sunt dou metode de creare a graficelor n MATLAB: 1)
crearea interactiv i 2) crearea graficelor cu programele introduse n
linia de comand. V-om studia mai detailat metoda a doua.

2.1.1. Fereastra cu grafic

Toate graficele se scot n ferestre ale graficelor cu meniurile i


panelele de instrumente ale sale. Forma graficelor poate fi schimbat
interactiv cu ajutorul instrumentelor ferestrei graficului.
Desennd un grafic, MATLAB automat deschide o fereastr-
figur (fereastr cu figur, mai departe o v-om numi i prescurtat -
figura) dac aa fereastr nc nu exista. Dac figura exist,
MATLAB desin n ea. Dac sunt mai multe figuri, MATLAB desin
n figura marcat figura activ. Figura activ este ultima figur
folosit sau activat de utilizator.
Dac se cere de a obine cteva grafice n diferite ferestre,
atunci nainte de a chema funcia grafic trebuie de apelat comanda
figure fr parametri, care deschide o figur nou i o face activ.
Ferestrele graficelor vor fi numerotate Figure No1, Figure No 2, etc.
Pentru a seta o figur activ e necesar de a clica cu mausul pe
fereastra dat sau n linia de comand de scris

>> figure(n);

unde n este numrul figuri date (se indic n bara de titlu a ferestrei).
Rezultatul a comenzilor grafice vor fi artate n aceast figur.

52
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig. 2.1. Exemplu de fereastr-figur

Fiecare fereastr are axele de coordonate ale sale. Dac chiar n


fereastr sunt mai multe axe, graficul va aprea n axele curente, care
sunt ultimele din cele create. Pentru a alege axele curente din cteva
este suficient de a clica pe ele cu butonul din stnga a mousul nainte
de a chema funcia grafic.

2.1.2. tergerea figurii

Dac o figur deja exist, majoritatea comenzilor de desenare


terg axele i folosesc aceast figur pentru crearea unui grafic nou.
Pe de alt parte, aceste comenzi nu v-or reseta proprietile figurii
aa ca culoarea fonului sau paleta de culori. Dac ai setat careva
proprietate a figurii precedente i nainte de crearea unui grafic nou
dorii s le resetai trebuie de apelat la comanda clf (din englez clear
figure) cu opiunea reset:
>> clf
>> clf reset
Comanda clf terge figura fr resetarea proprietilor ei. Tot
acelai rezultat v-om obine dac din meniul figurii v-om selecta
Edit -> Clear Figure.

2.2. Construirea graficelor funciilor


de o singur variabil

S construim graficul funciei de o variabil


f ( x ) e sin x x pe segmentul [-2,2]. Primul pas const n
x 2

determinarea coordonatelor punctelor pe axa absciselor. Construirea


vectorului x1 cu elemente de pas constant se efectueaz cu ajutorul

53
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

operatorului colon. Mai departe trebuie de calculat valorile f(x1)


pentru fiecare element al vectorului x1 i de scris rezultatul n
vectorul y1. Pentru construirea graficului funciei trebuie de folosit
funcia plot. Se indic argumentele x1 i y1 n paranteze rotunde.
Ordinea comenzilor sunt indicate mai jos

>> x1=[-2:0.05:2];
>> y1=exp(x1).*sin(pi*x1)+x1.^2;
>> plot(x1,y1)

n urma executrii funciei plot apare graficul funciei (fig. 2.2):


4

-1

-2

-3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Fig. 2.2. Graficul funciei

2.2.1. Funcia comet

Funcia comet permite de a urmri micarea punctului pe


traiectorie. La apelarea comet(x,y) apare fereastra graficului pe axele
crora se deseneaz micarea punctului n forma unei comete cu
coad. Viteza micrii poate fi controlat prin schimbarea pasului la
determinarea vectorului valorilor parametrului.
54
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2.3. Construirea graficelor funciilor


de dou variabile

Exist o serie de funcii grafice pentru a vizualiza funciile de


dou variabile:
plot3 - analogul 3-dimensional a funciei plot;
mesh - carcasa suprafeei plin de culoare;
surf - suprafeei plin de culoare;
contour - grafic plan cu liniile de nivel;
meshc, surfc - suprafa cu liniile de nivel n planul x,y;
contourf - grafic plan cu liniile de nivel colorat;
contour3 - suprafa compus din linii de nivel;
surfl - suprafa luminat.

Fie c trebuie de obinut carcasa suprafeei funciei


n dreptunghiul x [1,1] , y [0,2] .
z ( x, y ) e x sin(y )
Primul pas const n indicarea scrii pe dreptunghi, adic punctele,
care vor fi folosite pentru a calcula valorile funciei. Pentru a genera
scara se folosete funcia meshgrid, care depinde de dou argumente
vectorii care determin scrile pe axele x i y.
Funcia meshgrid, creeaz dou variabile care sunt matrice

>> [x3,y3]=meshgrid(-1:0.1:1,0:0.1:2);

Matricea x3 const din aceleai rnduri egale cu primul


argument vector n funcia meshgrid, iar matricea y3 din coloane
egale care coincid cu al doilea argument n meshgrid. Aceste
matrice sunt necesare pentru a face al doilea pas la completarea
matricei z3, fiecare element al creia este o valoare a funciei z(x,y) n
punctele scrii. Obinem matricea necesar z3:
>> z3=exp(-x3).*sin(pi*y3);

Pentru a construi graficul z(x,y) a rmas de chemat funcia grafic potrivit, de exemplu:
>> mesh(x3,y3,z3)

55
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

3 3

2 2

1 1

0 0

-1 -1

-2 -2

-3 -3
2 2
1.5 1 1.5 1
1 0.5 1 0.5
0 0
0.5 -0.5 0.5 -0.5
0 -1 0 -1

Fig. 2.3. Carcasa (mesh) i suprafaa (surf) funciei z(x, y).

Pe ecran apare fereastra grafic cu suprafaa funciei cercetate,


culoarea cruia corespunde valorii implicite colorcube (culorile
graficelor 3-dimensionale vor fi analizate mai departe).
Pentru obinerea suprafeei funciei se folosete funcia surf,
care se aseamn cu mesh doar prin aceea, c mesh desin carcasa iar
surf suprafaa (se apeleaz ca i funcia mesh) (Fig.2.3).
>> surf(x3,y3,z3)

2.3.1. Construirea graficelor plane cu


liniile de nivel
Grafic plan cu liniile de nivel i grafic plan cu liniile de nivel
colorat a funciei (fig. 2.4):
>> contour(x3,y3,z3)
>> contourf(x3,y3,z3)
2 2

1.8 1.8

1.6 1.6

1.4 1.4

1.2 1.2

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Fig. 2.4. Liniile de nivel (contour) i liniile de nivel colorat


(contourf) a funciei.
Numrul liniilor de nivel se indic n al patrulea argument, adugtor, de exemplu:

56
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> contour(x3,y3,z3, 10); contourf(x3,y3,z3, 10);


n locul numrului liniilor se poate de indicat n form de
vector valorile lui z(x,y) pentru care trebuie de construit liniile de
nivel (fig. 2.5):
>> contour(x3,y3,z3,[-0.51 -0.25 -0.01 0.89])
>> contourf(x3,y3,z3,[-3:0.3:3]) %sau setm pasul nostru
2 2 -0.3
-0.3
-0.6 -0.3
-1.2 -0.9
1.8 1.8 -0.6
-1.8
-0.9
-
1.6 1.6 2.4

-1
-1
-2

.2
.5
.1
1.4 1.4
-0.6
-1.8 -0.9 -0.3
1.2 1.2 -1.5 -1.2
-0.6
-0.9 -0.3
-0.6 -0.3
1 1 0.3
0 0 0 0
0.6 0.3
1.20.9 0.6 0.3
0.8 0.8
1.8 0.9
2 2.1 1.5 1.2 0.
0.6 0.6 .4 6

0.4 0.4
1.8 5 0.9
0.2 0.2 1. 1.2 0.6
0.9 0.6 0.3
0.3 0.3
0 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Fig. 2.5. Setarea numrului liniilor de nivel i valorile lor.

Suprafaa format din liniile de nivel se prezint aa (fig.2.6):


>> contour3(x3,y3,z3,[-3:0.1:3]);

-1

-2

-3
2
1.5 1
1 0.5
0
0.5 -0.5
0 -1

Fig. 2.6. Suprafaa format din liniile de nivel.

Pentru a introduce pe fiecare linie nscrieri cu valorile


respective ale lui z(x,y) trebuie de chemat contour cu dou
argumente, unul fiind matricea cu informaia despre poziia liniei de
57
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

nivel, iar al doilea vectorul cu indicii pe linii. Variabilele obinute


trebuie folosite ce argumente ale funciei clabel:
>> [CMatr, h] = contour(x3, y3, z3, [-3:0.3:3]);
>> clabel(CMatr, h)

2.4. Construirea graficelor funciilor


determinate n mod parametric

Fie c trebuie de construit graficul unei funcii determinate n


mod parametric, de exemplu graficul isteroidei x (t ) cos 3 t ,
x(t ) sin 3 t , t [0,2 ] . Mai nti trebuie de determinat vectorul t,
apoi de introdus valorile x(t), y(t) n vectorii x, y i de aplicat plot,
pentru a descrie dependena lui y de x (fig. 2.7):
>> t=[0:pi/20:2*pi];
>> x2=cos(t).^3;
>> y2=sin(t).^3;
>> plot(x2,y2)
1

0.8

0.6 30

0.4 25

20
0.2
15
0
10
-0.2
5
-0.4
0
-0.6 10
5 10
-0.8 5
0
0
-1 -5 -5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-10 -10

Fig. 2.7. Graficele funciilor determinate n mod parametric

Pentru funciilor de dou variabile


>> cercuri=4; raza=10;
>> unghiul=[0:pi/20:cercuri*2*pi];
>> x2=raza*cos(unghiul);
>> y2=raza*sin(unghiul);
>> plot3(x2,y2,unghiul)

58
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2.5. Construirea ntr-o fereastr a graficelor


ctorva funcii

2.5.1. Grafice cu axele comune

La aplicarea funciei plot MATLAB implicit terge fereastra


grafic. Pentru a suprapune o imagine pe alta se aplic comanda hold
on, iar pentru anularea suprapunerii imaginilor se aplic hold off (fig.
2.8). La suprapunerea graficelor MATLAB la nevoie recalculeaz
axele pentru ca s ncap graficele. Exemplu:
>> hold on %hold off
>> x=[-2:0.05:2]; f=exp(x).*sin(pi*x)+x.^2;
>> x1=[-2:0.5:2]; g=exp(-x1.^2).*sin(5*pi*x1);
>> figure(1); plot(x,f); plot(x1,g)
Pentru a suprapune o imagine pe alta, folosind numai
posibilitile funciilor de desenare, ca parametri ai comenzii trebuie
de indicat consecutiv perechile de x,y la fiecare grafic n parte.
Exemplu cu funcia plot:
>> figure(2); plot(x,f, x1,g)
4 0.8

3 0.6

0.4
2

0.2
1
0
0
-0.2

-1
-0.4

-2 -0.6

-3 -0.8
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

a) b)
Fig. 2.8. Graficul cu i fr suprapunere (hold on i hold off)
Adic, mai nti trebuie de calculat valorile lui f(x), g(x) i la
sfrit de chemat plot, separnd prin virgul perechile x, f i x, g (vezi
figura 2.8, a)).
Analogic si cu graficele 3-dimensionale (fig. 2.9).

59
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> raza=2; unghiul=[-2*pi:pi/20:2*pi]; %calcule preliminare


>> x2=raza*cos(unghiul);
>> y2=raza*sin(unghiul);
>> [x3,y3]=meshgrid(-raza:0.1:raza,-raza:0.1:raza);
>> z3=exp(-x3).*sin(pi*y3);
>> figure(3); plot3(x2,y2,unghiul) %metoda 1
>> hold on
>> contour3(x3,y3,z3,[-raza:0.1:raza]);
>> figure(3); plot3(x2,y2,unghiul,x3,y3,z3); %metoda 2

10 10

5 5

0 0

-5 -5

-10 -10
2 2
1 2 1 2
0 1 0 1
0 0
-1 -1 -1 -1
-2 -2 -2 -2

Fig. 2.9. Dou grafice 3-dimensionale intr-o figur

2.5.2. Grafice cu axele proprii

Comanda subplot permite plasarea intr-o fereastr a graficului


sau imprimarea pe aceiai hrtie a cteva grafice cu axele proprii.
Comanda subplot(m,n,p) mparte figura ntr-o matrice m pe n de pri
a graficului iniial, iar p este indexul pri selectate (numerotarea este
ca la matrice cu un singur index).
Fie c trebuie de vizualizat grafice pe 6 axe de coordonate ntr-
o fereastr: dou pe vertical i trei pe orizontal. Se creeaz
fereastra grafic cu ajutorul figure i se aplic comanda
>> subplot(2,3,1)

n unghiul din stnga de sus apar axele. Primele dou


argumente din paranteze indic numrul de axe de coordonate pe
vertical i orizontal, ultimul indic numrul de ordine a axelor.

60
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Folosii subplot(2,3,2), , subplot(2,3,6) pentru a crea axele


urmtoare. Orice grafic poate fi desenat la axele active la momentul
desenrii, aplicnd, de exemplu:

>> subplot(2,3,3)
>> bar([1.2 0.3 2.8 0.9])
>> subplot(2,3,6)
>> surf(x3,y3,z3)

2.5.3. Setarea axelor

Comanda axis are multe opiuni pentru setarea scrii, orientaiei


i formatul de vizualizare a graficelor. De asemenea aceste
modificri se pot executa interactiv.
Setarea limitelor axelor. Implicit, MATLAB gsete valoarea
maximal i minimal a valorilor variabilelor i alege limitele axelor
n aa mod, ca s cuprind toate valorile. Comanda axis permite
setarea limitelor proprii. Pentru grafice bidimensionale formatul este
axis([xmin xmax ymin ymax]), iar pentru grafice 3-dimensionale -
axis([xmin xmax ymin ymax zmin zmax]).
Comanda axis auto seteaz napoi alegerea automat a
limitelor.
Setarea modului de vizualizare. Totodat, comanda axis
permite specificarea a unui numr pre-definit de moduri de
vizualizare:
axis square face axele egale dup lungime
axis equal face distanele ntre gradrile axelor egale.
n rezultatul comenzii pe grafic cercul va fi cerc
dar nu oval.
axis normal returneaz la modul automat de vizualizare
Vizibilitatea axelor. Implicit axele sunt vizibile. Comenzile
axis on i axis off schimb starea n vizibil i invizibil i viceversa.

61
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2.6. Crearea interactiv a graficelor

Fie c noi avem deja datele calculate a funciilor f(x) i g(x) :


>> x=[-2:0.05:2];
>> f=exp(x).*sin(pi*x)+x.^2;
>> g=exp(-x.^2).*sin(5*pi*x);

Apelm la comanda figure sau din meniul MATLAB selectm


File->New->Figure i ca rezultat apare fereastra graficului. Din
meniu figurii alegem Insert->Axes i cu mausul desenm axele n
partea dreapt a ferestrei. Repetm operaia i desenm nc dou
perechi de axe noi n partea stng una sub alta (fig.2.10, a)).
Activam axele din stnga sus i apsm butonul drept al mausului;
alegem Add data din meniul aprut. Apare fereastra de creare
interactiv a graficului - de adugare a datelor la axe (fig.2.10, b)).

a) b)
Fig. 2.10. Figura cu 3 axe (a) i adugarea datelor la axe (b).

n boxa X Data source selectm valorile abscisei, iar n boxa


Y Data source selectm valorile ordonatei al graficului (n cazul
nostru x i f respectiv). Selectm tipul graficului (plot) i apsm
butonul OK. Ca rezultat apare graficul pe axele selectate.
Construim graficul f(x) pe axele din stnga sus, g(x) pe axele
din stnga jos i, consecutiv, f(x) i g(x) pe axele din dreapta (vezi
Fig. 2.11).

62
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Fig. 2.11. Rezultatul crerii interactive a figurii.

Selectnd o funcie n axa curent, se poate de fcut schimbri


ai tipului liniei, grosimii, culorii etc.

2.7. Oformarea graficelor

n MATLAB exist comenzi i funcii speciale pentru


oformarea graficelor.
Tipul liniilor, culoarea i marcherii se determin prin valoarea
argumentului al treilea suplimentar al funciei plot. Acest argument
se indic ntre apostrofe, de exemplu, comanda plot(x,f,'ro:') va
construi graficul funciei cu linie roie i marcheri rotunzi.
4

-1

-2

-3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Fig. 2.12. Graficele funciilor cu culoarea, tipul de marcher


i stilul liniei schimbate
63
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

n argumentul suplimentar pot fi completate trei poziii care


corespund culorii, tipului de marcher i stilului liniei, nsemnrile
crora sunt prezentate n tabelul 2.1:
belul 2.1
Prescurtri pentru culori, tipul de marcher i stilul liniei
Culoarea Tipul marcherului
y Galben . Punct
m Roz o Cercule
c Albalbastru x Cruciuli
r Rou + Semnul plus
g Verde * Stelu
b Albastru s Ptrat
w Alb d Romb
k Negru v Triunghi cu vrful n jos
Tipul liniei ^ Triunghi cu vrful n sus
- Dreapt < Triunghi cu vrful n stnga
: Punctat > Triunghi cu vrful n dreapta
-. Linie-punct p Stelu cu 5 coluri
-- Linie ntrerupt h Stelu cu 6 coluri

Comanda colorbar creeaz o coloan n fereastra graficului,


care arat relaia ntre culoare i valoarea funciei z(x,y). Paleta
culorii graficului poate fi schimbat cu ajutorul funciei colormap, de
exemplu, colormap(gray) reprezint graficul culorile cruia sunt de
nuan sur.

Unele palete a culorilor sunt prezentate mai jos (v. fig. 2.13):
bone - seamn cu aspectul gray, dar cu un ton uor de
culoare albastr;
colorcube - fiecare culoare se schimb de la nchis pn la
deschis;
64
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

cool - nuane de culori alb albastre i purpurii;


copper - nuane de culoarea cuprului;
hot - schimbare lin: negru-rou-oranj-galben-alb;
hsv - schimbare lin (ca culorile curcubeului);
jet - schimbare lin: albastru-alb albastru - verde- galben
rou;
spring - nuane de purpuriu i galben;
summer - nuane de verde i galben;
winter - nuane de albastru i verde;
Valoarea implicit a paletei este jet.

4
60
3

50
2

40
1
Axa Y

30
0

-1 20

-2 10

-3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Axa X

a) b) c) d) e) f) g) h) i) j) k) l)
Fig. 2.13. Graficul funciei n rezultatul aplicrii comenzilor:
a) colorbar; i colormap cu paletele b)gray; c)bone; d)colorcube;
e)cool; f)copper; g)hot; h)hsv; i)jet; j)spring; k)summer; l)winter.

Comanda grid on, desen gradarea pe grafic, iar comanda grid


off terge gradarea (v. fig. 2.14,a)).

Fiecare grafic are un titlu. Titlul se situeaz deasupra axelor n


centru. Titlul graficului se plaseaz cu ajutorul funciei title, care are
ca argument rndul respectiv n format string (se ia n apostrofe):

>> title('Rezultatele experienei')


Apare figura 2.14, b).

65
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Rezultatele experientei
4 4

3 3

2 2

1 1

0 0

-1 -1

-2 -2

-3 -3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

a) grid on b) title
Fig. 2.14. Graficul funciei n rezultatul aplicrii funciilor
a) grid on; b) title.

Reutilizarea comenzii title arta titlul nou al graficului, care -l


nlocuiete pe cel vechi.
Graficele, de asemenea, au i cte o descripie pentru fiecare
ax, care se situeaz n dreptul fiecrei axe respective. Comenzile
xlabel, ylabel i zlabel servesc pentru a arta descripia la axele x, y
i z, respectiv. Argumentele lor la fel sunt n format string:
>> xlabel(Axa X'); ylabel('Axa Y'); zlabel('Axa Z')
Reutilizarea comenzilor xlabel, ylabel i zlabel arta descripia
nou a axelor care o nlocuiete pe cea veche.
4 4
functia 1
functia 2
3 3

2 2

1 1
Axa Y

0 0

-1 -1

-2 -2

-3 -3
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Axa X

a) b)
Fig. 2.15. Graficul funciei n rezultatul aplicrii funciilor:
a) legend; b) xlabel, ylabel.

66
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Pentru a descrie cteva grafice se aplic comanda legend.


nscrierile legendei, luate n apostrofe se indic n argumentele
funciei legend, ordinea crora trebuie s coincid cu ordinea
graficelor. Ultimul argument indic poziia legendei (implicit 1):
-1 n afara graficului n unghiul din dreapta de sus a
ferestrei graficului
0 se alege poziia cea mai bun n limitele graficului,
astfel ca mai puin s acopere graficele
1 n unghiul din dreapta de sus a graficului
2 n unghiul din stnga de sus a graficului
3 n unghiul din stnga de jos a graficului
4 n unghiul din dreapta de jos a graficului.

>> legend('functia 1','functia 2')

Pentru a plasa un obiect de tip text pe grafic putem folosi


comanda text, formatul creia este text(x,y,z,'string'), unde x i y sunt
coordonatele pe axe curente, urmat de textul n format string luat n apostrofe.
>> text(0,5,'Functia curenta.')

Parametrii HorizontalAlignment i VerticalAlignment permit de


a plasa textul n partea dorit fa de punctul iniial z,y,z. Parametrul
HorizontalAlignment poate primi valorile left, right i center, pe cnd
parametrul VerticalAlignment poate primi valorile middle, top, cap,
baseline i bottom. Valorile implicite ale parametrilor sunt
HorizontalAlignment=left i VerticalAlignment=middle
>> text(0,5, 'Plasarea la dreapta', 'HorizontalAlignment','right')

n comenzile title, xlabel, ylabel, zlabel i text pot fi utilizate


urmtoarele argumente, care fac graficul mai cite: 'FontSize', 'Color',
valorile crora tot se indic ca argumentul urmtor, desprite prin
virgul. Parametrul color este o matrice din 3 elemente cu valoarea
de la 0 pn la 1 pentru fiecare culoare rou - verde - albastru (RGB
Red-Green-Blue).

>> title('Grafic','fontSize',14,'Color',[.3 0 0])


67
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

>> xlabel('Axa X', 'fontSize',12,'Color',[.5 0 0])


>> text(0,5,'Functia curenta.', 'fontSize',12,'Color',[.5 0 0])

La scrierea textului MATLAB ofer posibilitatea de includere a


simbolurilor matematice, literelor Greceti, precum i formatul
textului folosind secvenele de caractere TEX.
Ele se ncep cu simbolul \. Exemple:
\it nceputul simbolurilor aplecate (italic).
Acoladele {} arat nceputul i sfritul.
\leq semnul mai mic i egal
\leftarrow sgeat n stnga
\rightarrow sgeat n dreapta
\pi constanta pi
\omega litera greceasc omega
Exemple:

>> title('{\it font italic} font drept')


>> xlabel('-\pi \leq {\itt} \leq \pi')

Lista tuturor secvenelor le putei vedea in anexa 2.

Pentru a scrie textul n dou rnduri se folosete un tabel


celular cu mai multe rnduri:

>> title({'primul rand';'al doilea rand'})

Pentru importarea imaginilor n Microsoft Word fr pierdere


de calitate trebuie de exportat imaginea n fiier emf (Enhanced
metafile, format vectorial) din meniul File->Save as a ferestrei
imaginii. Tot acelai rezultat putem obine, dac v-om copia n
Clipboard imaginea prin meniul Edit ->Copy figure iar pe urm n
documentul necesar. Folosind comanda print e posibil de memorizat
n Clipboard sau n fiier:
print -dbitmap memorizeaz ca Windows bitmap (BMP)
print -dmeta memorizeaz Enhanced metafile (EMF).

68
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Sarcina Lucrrii Nr. 2


I. Descriei comenzile de baz pentru construirea graficelor n
pachetul MATLAB.
II. De construit graficele funciilor de o variabil pe segmentul
indicat. De indicat titlurile, de introdus nscrierile la axe, legenda, de
folosit diferite culori, stiluri ale liniilor i tipuri de marcheri.
Optimizai programul (nu expresia matematic) folosind variabilele
intermediare. De a prezenta graficele prin diferite metode:
a) n ferestre diferite;
b) ntr-o fereastr pe aceleai axe;
c) folosind comanda subplot :
c1) ntr-o fereastr pe axe diferite :
Orizontal,
vertical
( 6 3 x
graficul functiei f1=2*(x-1) graficul functiei f1=2*(x-1) graficul functiei f2=-(x. 1/3)) graficul functiei
x 10 g=((x-1). ).*sqrt(x).*(2. )
20 20 -0.4 2.5

f(x)
0 15 -0.6
2
-20
10 -0.8

ambele pe
-40
-10 -8 -6 -4 -2 0 2 4 6 8 10
graficul functiei f2=-(x.(1/3)) 5 -1 1.5
0

g(x)
-1 0 -1.2

1
-2

axele din
-5 -1.4

-3
-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -1.6 0.5
6 3 x
x 10 graficul functiei g=((x-1). ).*sqrt(x).*(2. )

f(x) i g(x)
3
-15 -1.8
2
0
1

dreapta
-20 -2
0

-1 -25 -2.2 -0.5


-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 0 10 -10 0 10 -10 0 10

c2) ntr-o fereastr fiecare aparte pe axe diferite i ambele


pe aceleai axe.
graficul functiei f2=-(x.(1/3)) 6 6
x 10 graficele functiei x 10 graficele functiei
0 2.5 2.5
f1=2*(x-1) f1=2*(x-1)
f2=-(x.(1/3)) 2 f2=-(x.(1/3))
-0.5

ambele pe
Oy axa ordonatelor

1.5
-1 2
1
-1.5

ambele pe
0.5

-2 1.5
0

axele din
Oy axa ordonatelor

-2.5 -0.5
-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -8 -6 -4 -2 0 2 4 6 8 10
Ox axa absciselor
1

axele de sus
6
x 10 graficul functiei g=((x-1).3).*sqrt(x).*(2.x) graficul functiei f2=-(x.(1/3)) 6
x 10 graficul functiei g=((x-1).3).*sqrt(x).*(2.x)
2.5 0 2.5

2 2
0.5 -0.5

dreapta
1.5 1.5
-1
1 1
0 -1.5
0.5 0.5

-2
0 0

-0.5 -0.5 -2.5 -0.5


-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -5 0 5 10 -10 -5 0 5 10 -10 -5 0 5 10
Ox axa absciselor

Vari-
Funcia 1 Funcia 2 Segmentul
anta
1 f ( x) sin x g ( x) sin 2 x x 2 ,3
2 f ( x) sin x 2
g ( x) cos x 2
x ,
3 f ( x) x 2 x 1
3 2
g ( x ) ( x 1) 4
x 1,1
4 f ( x) ln x 2 g ( x) x ln x x 0.2,10
x 0.5,0.5
3 5
5 f ( x) 2 x g ( x) 2 x

6 f ( x) x 2
g ( x) x 3
x 1,1
7 f ( x ) arcsin x g ( x ) arccos x x 1,1

69
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

8 f x cos 2 x, g x ln x 1 x , 4
9 f x x 2 ln x g x x sin x x 0.2,8
10 f x x 2 sin x g x x ln x 1 x , 6
11 f x sin 3 x g x cos3 x x , 2
12 f x x 2 cos x g x x3 cos x x ,3
13 f x x ln x 2 1 g x x2 x 2 x 0.2, 4
14 f x x sin x 2 g x x 2 cos x x , 4
15 f x 2e x sin x g x x 2 cos 3 x x 1,3
sin x
16 f x 5e x cos x g x x 0.1, 4
x
17 f x x 2 sin 2 x g x x cos x x 1,3
18 f x e x sin x 2 g x x cos 2 x x 1, 2
19 f x x cos x g x x cos x 2
x 2 , 2
20 f x 2 arcsin x g x x 2 cos x x 1, 2
21 f x 3e x sin x g x e x cos x x 0,3
22 f x x 2 sin x g x x cos x x ,
23 f x 3arccos x g x e x cos x x 1,1
24 f x x sin x g x x ln x 1 x 1,3
25 f x xthx g x x 2 cos x x 1, 2
26 f x x 2 1 sin x g x ln x 2 2 x 1,3
27 f x e x sin 2 x g x x cos x x ,3
28 f x 3x cos x g x x 2 cos 2 x x ,
29 f x x 2 cos x g x x sin 2 x x 1,3
30 f x x 2 ln x 2 g x e x sin x x 1, 2

70
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

III. De construit graficul funciei de dou variabile pe un sector


dreptunghiular prin diferite metode - mesh, surf, meshc, surfc,
contour, contourf, contour3. Cotele la graficele de contur se aleg de
sinestttor. Optimizai programul (nu expresia matematic) folosind
variabilele intermediare.

Vari- Segmentul Segmen-


Funcia
anta 1 tul 2
1 z ( x, y ) sin x e 3 y x 0,2 y 0,1

2 z ( x, y ) sin 2 x ln y x 0,2 y 1,10

3 z ( x, y ) sin 2 ( x 2 y ) e
y
x 0, y 1,1

4 z ( x, y ) (sin x 2 cos y 2 ) xy x 1,1 y 1,1

5 z ( x, y ) (1 xy )(3 x)(4 y ) x 0,3 y 0,4

6 z ( x, y ) e
x
( x 5 y 4 ) sin( xy) x 2,2 y 3,3

x 2 y 2 2 xy 3
7 z ( x, y ) x 2,2 y 1,1
x2 y2 1

8 z x, y e x cos 2 x y x 1,1 y ,

9 z x, y x 2 e y sin xy x 2, 2 y 1,1

10 z x, y 2 x cos x ln y x , y 1,5

11 z x, y e x x 2 y 2 cos xy x 1, 2 y 2,3

12 z x, y sin 2 x 3 y e y x 0, y 1,1

13 z x, y cos x 2 y 2 ln xy 1 x 1,1 y 1, 2

14 z x, y 2 x sin xy ln y 2 x , y 1,1

71
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

15 z x, y sin x 2 y 2 cos xy x , 2 y ,

16 z x, y 1 2 xy sin x cos y x 1,1 y , 2

17 z xy e x cos xy xy x 0,1 y 2, 2

18 z xy x sin x ln y x 0, y 1,5

19 z x, y sin xy x 2 y 2 3 x 2, 2 y 1,1

20 z x, y 2 x 2 e y cos xy x 1,1 y 0.5,1.5

21 z x, y 2 x sin x y ln y 2 x , y 2, 2

22 z x, y 1 xy sin xy x x 1,1 y ,

23 z xy sin 2 x y 2 e x x 1, 2 y 0, 2

24 z x, y x 2 cos xy ln xy x x 1,1 y 2, 2

25 z xy cos x 2 y 2 sin xy x 1.5, 2 y 1,3

26 z x, y 2 xy sin xy cos xy x 1,1 y 2, 2

27 z x, y x 2 y e y sin xy x , y 0,1

28 z x, y cos x 2 2 y ln xy 2 x 0.5, 2 y 1,3

3
29 z x, y 2sin x 2 xy cos 3 xy x , y ,
2 2

30 z xy 2 yu cos xy ln xy x 1, 3 y 0.5, 2

72
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Lucrarea 3. Calculul caracteristicilor cinematice


ale micrii punctului material.

3.1. Redactorul incorporat

Redactorul intern (incorporat) din MATLAB are aceleai


faciliti ca i linia de comanda, plus avantajele unui compilator
modern executarea pas cu pas, setarea punctelor de stopare a
programului etc.
Evident, c a lucra n M-file e mai convenabil, de ct n rndul
de comand, fiindc se poate de pstrat programul, de adugat
operatori, de ndeplinit unele comenzi fr a apela la istoria
comenzilor, ca n cazul rndului de comand. Unicul neajuns este c
erorile apar numai n fereastra liniei de comand.
Pentru lansarea Editorului intern din MATLAB este nevoie de a
face clic pe butonul New M-file pe panelul de instrumente a
mediului de lucru sau de selectat meniul File->New-> M-file. Pe
ecran va aprea fereastra redactorului.

Sfat practic.
nainte de lansarea redactorului intern trebuie de schimbat
catalogul (directoriul) curent.

Schimbarea e posibil n fereastra principal a pachetului


MATLAB (fig. 3.1). Indicarea (setarea) catalogului se poate de
efectuat prin dou metode:
1) n MATLAB catalogul curent se indic din fereastra Current
Directory a mediului de lucru. Pentru a alege de pe disc
catalogul dorit apsai tasta plasat la dreapta de lista
deschis.

Fig. 3.1. Setarea directoriului curent.


73
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2) Dac se tie catalogul de lucru atunci se poate de folosit


comande ce emuleaz comande ale sistemului - CD, LS,
PWD.
CD <DIR> - schimbarea catalogului curent. Se folosete n
sistemele unix, windows.
Din englez Change current working directory
CD vizualizarea catalogului curent (numai n MATLAB).
LS - vizualizarea catalogului curent. Se folosete n
sistemele unix.
Din englez List directory.
PWD - vizualizarea catalogului curent. Din englez Print
current Working Directory.

Cnd catalogul curent este identificat, toate M- fiierele care se


gsesc n el, apar in fereastra Current Directory (fig. 3.2) i pot fi
pornite din rndul de comand, sau din redactorul M-fiierelor.

Fig. 3.2. Fereastra Curent Directory.

3.2. File-funcii i file-programe


Limbajul de programare, inclus n MATLAB este destul de
simplu i conine minimum necesar pentru scrierea programelor.
nainte de a programa n MATLAB trebuie de neles, c toate
programele pot fi sau file-funcii, sau file-programe. File-programa

74
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

este un fiier cu extensia .m, de exemplu myprog.m, n format


text n care sunt nscrii operatorii MATLAB. La apelarea file-
programei toate comenzile din ea se execut. S construim un file-
program.
Culegei n redactorul incorporat careva comenzi, de exemplu,
pentru a construi un grafic:

Exemplu 3.1. File-program


x=[-1:0.01:1];
y=exp(x);
plot(x,y)
grid on
title('Funcia exponenial')

nainte de executarea programului fiierul automat se salveaz


deoarece oricare M-file nainte de apelare se re-citete de pe suportul
memorizat (HDD,CD,Flash). Ulterior redactorul verific catalogul
curent - dac catalogul curent difer de cel al fiierului, apare
urmtoarea fereastr (fig. 3.3):

Fig. 3.3. Fereastra de schimbare a Curent Directory.

n care MATLAB propune :


1) s schimbe catalogul curent pe cel, n care se afl programul

75
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

2) catalogul curent s adauge ca primul n lista de cutare a


fiierelor din MATLAB
3) catalogul curent s adauge ca ultimul n lista de cutare a
fiierelor din MATLAB

Pentru a executa programul n ntregime trebuie de ales n


meniul Debug->Run sau de apsat <F5>.
Pentru executarea a unei pri este nevoie de a evidenia
operatorii necesari pentru executare (cu ajutorul mausului apsnd
tasta din stnga, sau cu ajutorul tastei <Shift> i cu tastele <>, <>,
<Page-Up>, <Page-Down>) i de ales n meniul Text->Evaluate
Selection sau de apsat <F9>. Operatorii evideniai se ndeplinesc
consecutiv, ca i cum ei ar fi culei n rndul de comand.
Dup ce programa din redactorul intern e pstrat n M-file, de
exemplu n myprog.m, pentru a o porni din rndul de comand este
nevoie de cules numele a M-fiierului (fr extensie) i de apsat
Enter, adic de ndeplinit ca o comand MATLAB (se va ndeplini
doar dac e setat catalogul curent).

File-funciile se deosebesc de file-programe prin aceea c ele


pot avea argumente de intrare i de ieire, dar toate variabilele
cuprinse n file-funcie, sunt locale i nu se vd n mediu de lucru. M-
fiierul, care conine o file-funcie, trebuie s se nceap cu un titlu,
dup care se nscriu operatorii MATLAB. Titlul const din cuvntul
function, lista argumentelor de ieire, numele file-funciei i lista
argumentelor de intrare:
function argument_de_ieire=Nume_funcie(arg_de_intrare)

Vectorul argumentelor de intrare (se separ prin spaiu sau


virgule) :
function argument_de_ieire=Nume_ funcie(argument_de_intrare1,
argument_de_intrare2,)
Analogic, vectorul argumentelor de ieire (se separ prin spaiu
sau virgule):
function [argument_de_ieire1 argument_de_ieire2 ]=Nume_
funcie(argument_de_intrare)

76
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

inei minte:
Toate funciile se pstreaz n M-fiiere cu acelai nume.

Exemplu 3.2. File-funcia mysum


mysum.m
function c=mysum(a,b)
c=a+b;

ntotdeauna pstrai file-funcia n M-fiier numele cruia


coincide cu numele file-funciei. V convingei, c catalogul cu
fiierul dumneavoastr (n cazul dat mysum.m) este curent i chemai
funcia mysum din rndul de comand:
>> s=mysum(2,3)
s=5
Observai, c operatorul c=a+b; n file-funcia mysum are la
sfrit ; pentru a opri apariia variabilei locale c n fereastra de
comand.
Practic toate funciile pachetului MATLAB sunt file-funcii i
se pstreaz n M-fiiere cu acelai nume. Funcia sin poate fi
chemat prin dou variante: sin(x) i y=sin(x), n primul caz
rezultatul se nscrie n ans, n al doilea in variabila y. Funcia
noastr mysum se comport la fel. Ba mai mult, n calitate de
argumente de intrare pot fi masive de dimensiuni egale sau masiv i
numr.
A ti s scrii file-funcii i file-programe proprii este necesar
cum la programare n MATLAB, la fel i la rezolvarea diferitor
probleme cu mijloacele MATLAB (n particular, cutarea rdcinilor
ecuaiilor, integrarea, optimizarea). S precutm un exemplu legat
de construirea graficului funciei f ( x) e x (sin x 0.1sin(100x))
pe segmentul [0,1]. Programai file-funcia myfun pentru calculul
funciei f (x ) . Apelai funcia myfun n dependen de valorile
vectorului x ca argument i s obinei vectorul valorilor respective
ale funciei.

77
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Exemplu 3.3. File-funcia myfun


myfun.m
function y=myfun(x);
y=exp(-x).*(sin(x)+0.1*sin(100*pi*x));

Graficul funciei f (x ) poate fi obinut prin dou metode.


Prima metod const n:
1) a crea vectorul valorilor argumentului, fie cu pasul 0.01
2) crearea vectorului valorilor funciei
3) chemarea funciei plot
>> x=[0:0.01:1];
>> y=myfun(x);
>> plot(x,y)

n rezultat obinem graficul, prezentat n figura 3.4 a, care nu


este corect.

0.35 0.4

0.35
0.3
0.3

0.25 0.25

0.2
0.2

0.15
0.15
0.1

0.1 0.05

0
0.05
-0.05

0 -0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

a) b)
Fig. 3.4. Graficul obinut cu plot (a) i fplot (b)

ntr-adevr la calculul valorilor funciei pe segmentul [0,1] cu


pasul 0.01 termenul sin(100x) tot timpul era 0 i plot a construit
nu graficul funciei f (x ) , dar al altei funcii. Alegerea pasului fr a
analiza funcia duce la pierderea informaiei eseniale despre
comportarea funciei. n MATLAB exist funcia fplot - un analog la
plot, dar cu alegerea automat a pasului pentru construirea graficului.
78
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Primul argument n fplot este numele file-funciei, iar al doilea este


vectorul, elementele cruia sunt marginile segmentelor: fplot('numele
file-funciei', [a b]). Construii acum ntr-o fereastr nou graficul
funciei f (x ) cu ajutorul fplot:

>> figure
>> fplot('myfun',[0,1])

S-a primit graficul care red exact comportarea funciei (fig.


3.4, b)).
Nu este greu de construit graficul unei funcii parametrice. Fie
c trebuie de construit graficul isteroidei x(t ) cos 3 t , y (t ) sin 3 t ,
t [0,2 ] . Trebuie de determinat vectorul t, apoi valorile lui x(t),
y(t) de le introdus n vectorii x i y i de folosit plot:

>> t=[0:pi/20:2*pi];
>> x=cos(t).^3;
>> y=sin(t).^3;
>> plot(x,y)

Funcia comet ne d posibilitatea de a urmri micarea


punctului pe traiectorie. Viteza micrii poate fi schimbat,
schimbnd pasul lui t.
Analogul 3-D a lui plot este funcia plot3. Dac x, y i z sunt
trei vectori de aceeai lungime, plot3(x,y,z) genereaz o linie 3-D prin
punctele cu coordonatele x, y, i z i apoi produce o proiecie 2-D a
acestei linii pe ecran. De exemplu, comenzile de mai jos creeaz o
elice
>> t = 0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t)
>> axis square; grid on

Analogul 3-D a lui comet este comet3. Ea descrie micarea


punctului ca o comet pe traiectoria n spaiu, determinat de

79
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

punctele [X(i),Y(i),Z(i)]. Aceast funcie are urmtoarea sintax


comet3 (X, Y, Z)

80
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

Sarcina Lucrrii Nr. 3


I. De declarat funcia din tabel file-funcie i de construit graficele
pe segmentul dat cu ajutorul plot (cu pasul 0.05) i fplot:

Varian-
Funcia Segmentul
ta

1
4 f ( x) 2
arctg (1 1.1 sin 5x ) 3

1
8 f x 3sin , x 0.05,1
x

9 f x 2 sin 20 x x 0,1

2
f x x 1,1
sin e 2 x e x cos e 2 x e x
10

81
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

1
11 f x 2sin x 0.05,1
2x

12 f x 2 x sin 6 x e 2 x cos 6 x x 0,1

12
13 f x x 0.05,1
14 12sin 21 x
sin 23 x
14 f x 3 x 0,1
3 sin 21 x

1
15 f x sin x 0,1
2
arctgx 2 x
11
1
f x
16 1 x 0,1
arcctg
1.2 sin 7 x
1
17 f x 2sin 7 x x 2 x 0,1
3

18 f x 3 sin 30 x x 2 x 0,1


5
19 f x cos x 0,1
3
arctgx 5
11

20 f x 3e x cos 7 x 3e x cos 7 x x 0,1

1
21 f x 3cos 7 x 2 x 5 x 0,1
3

82
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

22 f x 5sin 10 x 2 2 cos x x 0,1

23 f x 3sin x 100 x 2 x 0,1

sin 25 x
24 f x 5 x 0,1
2 cos 23 x
13
25 f x x 0,1
15 11sin 50 x

26 f x 2e x sin 7 x 3e x cos 7 x x 0,1

27 f x 5 cos 30 x x1/ 3 x 0,1

f x sin 50 x x 0,1
1/ 3
28 x1/ 2

sin 30 x
29 f x 5 x 0,1
2 sin 25 x

30 f x sin 4 3 x 3 arctge x x 0,1

83
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

II. De scris dou file-funcii. Prima (spre exemplu, cu denumirea xy)


are parametrul de ntrare - t (timpul) , iar parametrii de ieire valorile
coordonatelor punctului material n timpul micrii (x i y) pentru
timpul respectiv . A doua (spre exemplu, cu denumirea figpas) are
parametrii de ntrare numrul ferestrei grafice(fig) i pasul de calcul
al coordonatelor x i y (pas) ,iar la ieire afiaz traiectoria punctului
n intervalul dat de timp i poziia punctului pe traiectorie pentru un
moment de timp ales aleatoriu din intervalul dat. Chemarea file-
funciei figpas se face din Comand Window.
1. De construit graficul traiectoriei plane a punctului material cu
ajutorul comenzilor comet i plot.De artat poziia punctului
pe traiectorie pentru un moment de timp ales aleatoriu din
intervalul dat. De experimentat diferite valori ale pasului de
calcul.
2. De calculat viteza, acceleraia, acceleraia tangenial,
acceleraia normal i raza curburii traiectoriei penru
momentul de timp ales.
3. De artat pe graficul traiectoriei toi vectorii din punctul
precedent, utiliznd pentru aceasta instrumentele ferestrei
grafice.
4. De construit un tabel cu toate rezultatele obinute.

Varianta x t y t

84
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

8 x t t 2 2 cos t y t 1 sin t

3 3
9 x t 2 cos t cos 2t y t 2sin t sin 2t
2 2

10 x t 2e t sin t y t 3e t cos t

11 x t 3sin t y t 2 cos sin t

12 x t et cos t y t 3sin cos t

13 x t t 1 sin t y t 2 cos t

14 x t te t sin t y t 1 cos t

15 x t 2t cos arctgt y t 3sin t 2

16 x t t sin 2t y t 2e t cos t

17 x t 2 cos t 1 y t 3sin 2t t

18 x t 3e t cos 2t y t 2sin 2 t

85
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

19 x t 2 ln t 1 sin t y t 3cos t

20 x t t 1 cos t y t 2t 1 sin t

21 x t et sin 2t y t t 1 cos t

22 x t 2sin cos t y t t cos t 2

2
x t y t t 1
1/ 2
23 cos 2t sin t
t 0.1

24 x t t 2 1 sin 2t y t t cos t

25 x t t sin t cos t y t cos 2t

26 x t 2 cos sin t y t 3sin t 1

27 x t t 1 cos 2t y t t sin 2t

28 x t 2sin t 1.3sin 2t y t t cos 2t

29 x t 3sin arccos t y t 2sin t

30 x t t cos 2t y t sin t ln t 1

III. . De scris dou file-funcii. Prima (spre exemplu, cu denumirea


xyz) are parametrul de ntrare - t (timpul) , iar parametrii de ieire
valorile coordonatelor punctului material n timpul micrii (x,y i z)

86
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

pentru timpul respectiv . A doua (spre exemplu, cu denumirea figpas)


are parametrii de ntrare numrul ferestrei grafice(fig) i pasul de
calcul al coordonatelor x i y (pas) ,iar la ieire afiaz traiectoria
punctului n intervalul dat de timp i poziia punctului pe traiectorie
pentru un moment de timp ales aleatoriu din intervalul dat. Chemarea
file-funciei figpas se face din Comand Window.

1.De construit graficul traiectoriei spaiale a punctului material cu


ajutorul comenzilor comet3 i plot3.De artat poziia punctului pe
traiectorie pentru un moment de timp ales aleatoriu din intervalul
dat. De experimentat diferite valori ale pasului de calcul.
2.De calculat viteza, acceleraia, acceleraia tangenial,
acceleraia normal i raza curburii traiectoriei penru momentul
de timp ales.
3.De construit un tabel cu toate rezultatele obinute.

Varianta F
Funcia x(t) Funcia y(t)

1 z (t

2 z (t

3 z (t

4 z (t

5 z (t

6 z (t

87
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

7 z (t

8 x t t cos 2t y t sin t ln t 1 z

9 x t 3sin arccos t y t 2sin t z

10 x t 2sin t 1.3sin 2t y t t cos 2t z

11 x t t 1 cos 2t y t t sin 2t z

12 x t 2 cos sin t y t 3sin t 1 z

13 x t t sin t cos t y t cos 2t z

14 x t t 2 1 sin 2t y t t cos t z

2
x t y t t 1 z
1/ 2
15 cos 2t sin t
t 0.1

16 x t 2sin cos t y t t cos t 2 z

17 x t et sin 2t y t t 1 cos t z

18 x t t 1 cos t y t 2t 1 sin t z

19 x t t 2 2 cos t y t 1 sin t z

88
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

3 3
20 x t 2 cos t cos 2t y t 2sin t sin 2t z
2 2

21 x t 2e t sin t y t 3e t cos t z

22 x t 3sin t y t 2 cos sin t z

23 x t et cos t y t 3sin cos t z

24 x t t 1 sin t y t 2 cos t z

25 x t te t sin t y t 1 cos t z

26 x t 2t cos arctgt y t 3sin t 2 z

27 x t t sin 2t y t 2e t cos t z

28 x t 2 cos t 1 y t 3sin 2t t z

29 x t 3e t cos 2t y t 2sin 2 t z

30 x t 2 ln t 1 sin t y t 3cos t z

n MATLAB derivatele pot fi calculate aplicnd


calculul simbolic. De exemplu:
>> syms t
>> x=sin(t);vx=diff(x)
vx = cos(t)
File-funciile xy i figpas pot avea urmtoarele structuri:

89
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

comet(x,y);plot(x,y)
function [x,y]=xy(t) hold on
x=sin(t); %Determinam timpul de
y=cos(t); calcul si pozitia punctului
t=tmax*rand
[x,y]=xy(t);
%Construim pozitia punctului
function figpas(fig,pas) pe traiectorie
plot(x,y,'ro-')
tmax=4*pi; title(['t = ',num2str(t)])
t=0:pas:tmax; hold on
[x,y]=xy(t); grid on
figure(fig) xlabel('axa-OX')
%Construim traiectoria ylabel('axa-OY')
punctului material legend('y=f(x),Traiectoria')

Cinematica punctului. Micarea punctului poate fi


descris prin trei metode principale : metoda
vectorial ; metoda coordonatelor carteziene i metoda
natural. n cazul metodei vectoriale micarea este
descris de ecuaia micrii r = r(t) ce reprezint
dependena razei vectoare r (vectorul de poziie) de
timpul t . n cazul metodei coordonatelor carteziene
sunt date ecuaiile micrii x = x(t) , y = y(t) , z = z(t) ;
x , y , z sunt coordonatele carteziene ale punctului.
Metoda natural presupune cunoaterea coordonatei
naturale ca funcie de timp: =(t). Dac cunoatem
ecuaiile micrii , putem determina caracteristicile
cinematice ale micrii punctului . n urmtorul tabel

90
Lucrri de laborator la Mecanic realizate n MATLAB. I. Balmu, A. Casian, V. Mihailov

sunt aduse cele mai principale formule din cinematica


punctului.
Principalele notaii : n
acceleraia normal , este
orientat spre centrul curburii perpendicular la

vectorul vitezei ; acceleraia tangenial , este
orientat pe tangent la traiectorie i coincide dup
direcie cu vectorul vitezei la micarea accelerat i
este opus la micarea ntrziat ; - acceleraia
total; raza curburii.

Cinematica punctuli

Metoda de - viteza - acceleraia


descriere a
micrii ,
ecuaia micrii
Metoda
vectorial , =
(t)
Metoda vx = ; vy= ; ax= ay =
coordonatelor vz = az=
carteziene,
x = x(t) , y = y(t) v= a=
, z = z(t) cos(1)=vx /v, cos(2)=ax /a,
cos(1)=vy/v cos(2)=ay/a cos(2)=az /
cos(1)=vz / v a
Metoda natural = n + ,
=(t) Viteza este an =v2/
orientat pe = =
tangent la
traiectorie n
direcia micrii .
a=

91
Lucrarea 4. Studiul oscilaiilor forate ale unui
corp n prezena forei de rezisten.

4.1. Integrarea numeric.

4.1.1. Integrale definite ordinare.

Integrarea numeric este una din aplicrile cele mai importante


ale pachetului MATLAB. Integrarea numeric nseamn a calcula
aproximativ integrala:
b

y ( x)dx ,
a

aplicnd una din metodele numerice, care sunt multe la numr. Vom
aplica metoda cuadraturilor, care permite de a calcula integrale
simple i duble prin metoda lui Simpson sau metoda lui Gauss-
Lobatto. Cuadratura reprezint o metod numeric de a determina
suprafaa sub graficul funciei y(x), adic integrala definit de mai
sus.
Funcia quad utilizeaz metoda lui Simpson i poate fi mai
efectiv cnd funciile de sub integral nu sunt line sau cnd precizia
calcului, care se cere, este joas. n MATLAB6 precizia a fost
ridicat pn la 10-6. Funcia quadl (cuadratura Lobatto) utilizeaz
regula adaptiv a cuadraturii Gauss-Lobatto de ordin foarte nalt.
n formulele de mai jos expresia de sub integral fun de obicei
se d in form de funcie descriptor, de aceia n scopuri didactice se
noteaz prin @fun.

quad(@fun,a,b) - red valoarea numeric a integralei definite


de la funcia dat @fun pe segmentul [a,b]
quad(@fun,a,b,tol) - red valoarea numeric a integralei
definite cu precizia relativ tol (valoarea implicit tol=1.e-6).
Se poate de folosit un vector, compus din dou elemente
tol=[rel_tol abs_tol] pentru a determina greeala relativ i
absolut.
quad(@fun,a,b,tol,trace) - red valoarea numeric a
integralei definite i la valoarea trace ne egal cu zero,
construiete un grafic, care arat mersul calcului integralei.

Exemplul 4.1.
1

(e
x
De calculat 1) dx cu precizia 10-5. Culegem n rndul de
0
comand:

>> quad((exp(x)-1),0,1,1.e-5)
ans=
0.7183
2

e
x
De calculat dx cu precizia 10-4. Expresia exp(x) este
0

funcie descriptor, de acea putem scrie:

>> q=quad(@exp,0,2,1.e-4)
q=
6.3891
>> q=quad(@sin,0,pi,1.e-3)
q=
2.0000

Se poate de format i file-funciile respective i de le inclus n


loc de @fun (vezi exemplu n paragraful urmtor).
4.1.2. Integrale definite duble.

Fie c trebuie de calculat integrala definit dubl


2 2
x
[2 y sin( x ) 2 cos( y ) ]dxdy .
0

dblquad(@fun,inmin,inmax,outmin,outmax) calculeaz i
red valoarea integralei duble pentru funcia de sub integral
fun(inner,outer). Implicit se utilizeaz cuadratura quand. Aici
inner este variabile interioar, care variaz de la inmin pn
la inmax, iar outer variabila exterioar, care variaz de la
outmin pn la outmax. Primul argument este un rnd, care
descrie funcia de sub integral. nscrierea n apostrofe acum
este inadmisibil.

Exemplul 4.2.

S alctuim mai nti file-funcia integr1.m care descrie


funcia:

integr1.m
function y=integr1(x,y);
y=2*y.*sin(x)+x./(2*cos(y));

Atunci calculul integralei duble de mai sus poate fi efectuat n


felul urmtor:

>> result=dblquad(@integr1,pi,2*pi,0,2*pi)
result=
-78.9574
4.2. Rezolvarea ecuaiilor difereniale.

Pentru rezolvarea sistemelor de ecuaii difereniale obinuite


(EDO) n MATLAB exist diferite metode. Ele se numesc rezolvatori
de EDO (solver - rezolvator):
ode45 - o metod clasic, care se recomand la nceputul
ncercrii rezolvrii.
ode23 - cnd precizia care se cere e joas, aceast metod d
avantaj n viteza de rezolvare.
ode113 - asigur o precizie nalt a rezolvrii.
ode23tb nectnd la precizia joas, aceast metod poate fi
mai efectiv dect ode15s.
ode15s - se recomand, dac ode45 nu asigur rezolvarea.
ode23s - asigur o vitez nalt a calculului la o precizie
joas a soluiei.
ode23t - metoda trapezelor cu interpolare, obine rezultate
bune la rezolvarea problemelor care descriu sisteme
oscilatorii cu rezultat aproape armonic.

Toi rezolvatorii pot rezolva sisteme de ecuaii de tipul y


=F(t,y). Rezolvatorii ode15s i ode23t pot rezolva ecuaii de tipul
M(t)y=F(t,y), unde M se numete matricea de mas. Rezolvatorii
ode15s, ode23s, ode23t i ode23tb pot rezolva ecuaii de tipul
M(t,y)y = F(t,y).

La aplicarea rezolvatorilor se folosesc urmtoarele notri i


reguli:
o F - numele fiierului EDO, adic a funciei de t i y, care red
un vector-coloan.
o tspan -vector, care determin intervalul de integrare [to
tfinal].
o yo vectorul condiiilor iniiale;
o p1, p2,... parametri arbitrari care se transmit n funcia F;
o options - argument creat de funcia odeset, de obicei pentru
a determina greeala relativ i absolut;
o T, Y matricea soluiilor, unde fiecare rnd corespunde
timpului redat n vectorul-coloan T;

Descriem comenzile pentru a rezolva sisteme de ecuaii


difereniale (vom nota prin solver una din metodele numerice
posibile de rezolvare a EDO - ode45; ode23; ode113, ode15s,
ode23s; ode23t; ode23tb) :
o [T,Y]=solver(@F,tspan,y0) - unde n loc de solver se pune
numele funciei rezolvatorului concret, integreaz sistemul de
ecuaii difereniale de tipul y=F(t,y) pe intervalul tspan cu
condiiile iniiale y0. @F - este descriptorul fiierului EDO.
Se poate de scris F - rndul care conine numele fiierului
EDO. Fiecare rnd n masivul de soluii Y corespunde
timpului redat n vectorul-coloan T.
o [T,Y]=solver(@F,tspan,y0,options) - red soluie ca i mai
sus, dar cu parametrii determinai de valorile argumentului
options adic precizia relativ i absolut respectiv. Implicit
componentele sunt egale cu 1e-6.
o [T,Y]=solver(@F,tspan,y0,options,p1,p2...) - red soluie ca
mai sus cu parametri suplimentari p1, p2,... n m-failul F.
Folosii optins=[], dac nici un fel de parametri nu se dau.

Exemplul 4.3.

Trebuie de rezolvat ecuaia lui Van-der-Pol: y=1000(1-y2)y-y


pe intervalul (n secunde) t=[0 3000] cu condiiile iniiale y(0)=2, y
(0)=0. Transcriem ecuaia ca un sistem de dou ecuaii difereniale,
notnd y = y1:

y1 = y2;
y2 = 1000*(1-y12)*y2-y1.
nainte de rezolvare trebuie de scris sistemul de ecuaii
difereniale n form de file-funcie EDO.
vdp1000.m
function dydt = vdp1000(t,y)
dydt = zeros(2,1); %a column vector
dydt(1) = y(2);
dydt(2) = 1000*(1-y(1)^2)*y(2)-y(1);

Soluia cu rezolvatorul ode15s i graficul corespunztor pot fi


obinute, aplicnd comenzile urmtoare:
>>[t,y] = ode15s(@vdp1000,[0 3000],[2; 0]);
plot(t,y(:,1),'-');
title('Solution of Van der Pol Equation, \mu = 1000');
xlabel('time t');
ylabel('solution y_1');

n rezultat obinem graficul, prezentat n figura 4.1,a).

Solution of Van der Pol Equation, = 1000 Solution of Van der Pol Equation, = 1
2 3

1.5
2
1

0.5 1
solution y1

solution y

0
0
-0.5

-1 -1

-1.5
-2
-2

-2.5 -3
0 500 1000 1500 2000 2500 3000 0 2 4 6 8 10 12 14 16 18 20
time t time t

a) b)
Figura 4.1. Graficul funciei pentru =1000 (a), i =1 (b)

Pentru a construi y1 i y2 putem aplica comenzile (pentru alt


coeficient mu sau =1):
vdp1.m
function dydt = vdp1(t,y)
dydt = zeros(2,1); %a column vector
dydt(1) = y(2);
dydt(2) = 1*(1-y(1)^2)*y(2)-y(1);
Soluia cu rezolvatorul ode45 i graficul corespunztor pot fi
obinute, aplicnd comenzile urmtoare:

>>[t,y] = ode45(@vdp1,[0 20],[2; 0]);


plot(t,y(:,1),'-',t,y(:,2),'--')
title('Solution of Van der Pol Equation, \mu = 1');
xlabel('time t');
ylabel('solution y');

Obinem figura 4.1, b) cu graficele y = y1 i y1 = y2.


n caz general soluia se reduce la urmtoarele:
1). Crearea file-funciei. Independent de aspectul sistemului de
ecuaii el are forma:

solverDE.m
function dy = solverDE(t,y)
dy(1) = f1(t, y(1), y(2),..., y(n));
dy(2) = f2(t, y(1), y(2),..., y(n));
...................................................
dy(n) = fn(t, y(1), y(2),..., y(n));
2). Obinerea soluiei i a graficului nsoitor:

>> [T,Y] = solver(solverDE, [to tfinal], [y10 y20 ... yn0]);


>> plot(T,Y)
Vor fi construite graficele y1, y2,...,yn ca funcii de t).

n rezultat obinem graficele, care pot fi nsemnate cu denumiri


Nume1, Nume2,...,NumeN. Aceasta e posibil n dou metode
manual i automat.

La scrierea manual mai nti se aplic comanda gtext, dup ce


se indic locul potrivit al graficului pentru text - cu ajutorul mausului
se apas cu tasta din stnga al mausului:

>> hold on; gtext('y1'),gtext('y2'),...,gtext(yn),


Pentru a automatiza, selectam un punct oarecare de pe grafic,
adic perechea de coordonate t i y, si scriem cu funcia text :

>> text(t(110),y(110,1),'\leftarrow y1') % perechea 110


>> text(t(83),y(83,2),'\leftarrow y2') % perechea 83

Pentru exemplul 4.3 de mai sus avem urmtoarele rezultate


(fig. 4.2):

Solution of Van der Pol Equation, = 1 Solution of Van der Pol Equation, = 1
3 3

y2 y2
2 2

1 y1 1 y1
solution y

solution y

0 0

-1 -1

-2 -2

-3 -3
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
time t time t

a) manual funcia gtext b) automat funcia text

Figura 4.2. Scrierea denumirilor graficelor


y1 y1

4.3. Studiul oscilaiilor libere


(Problema 32.1 din [6]):

Arcul AB este suspendat de un capt al lui n punctul A (vezi


fig. 4.3). Pentru alungirea lui cu l = 1m trebuie s aplicm n
punctul B o sarcin static P = 19,6 N. La un moment dat de captul
B al arcului ne deformat se suspendeaz un corp C cu masa M = 0,1
kg i i se d drumul fr vitez iniial. Neglijnd masa arcului, s se
determine ecuaia cinematic a micrii corpului (legea micrii)
fa de axa x dus vertical n jos din
poziia de echilibru static al corpului.
Rezolvare. Fie l0 - lungimea
arcului nedeformat, st - deformaia
static a arcului, cnd corpul se afl n
poziia de echilibru static. Alegem
originea O a axei x n aceast poziie a
corpului (punctul O coincide cu centrul
maselor corpului, cnd x este egal cu
zero) i ndreptm axa vertical n jos.
Alegerea originii axei x n punctul O
este comod fiindc fa de acest punct
oscilaiile corpului (deplasrile x) vor
fi simetrice: deplasarea maximal n
jos va fi egal cu deplasarea maximal
n sus. Fie x deformaia suplimentar
a arcului cnd corpul efectueaz o
deplasare arbitrar de la poziia de Figura 4.3.
echilibru. n aceast poziie asupra
corpului acioneaz

dou fore: fora de
greutate G i fora elastic F .
Scriem ecuaia diferenial a micrii de translaie a corpului n
proiecie pe axa de coordonate x:
Mx G x Fx , (1)
unde,
G x Mg , i Fx c ( x st ) . (2)
Aici g este acceleraia cderii libere, c este coeficientul de
elasticitate a arcului, x st este deformaia total a arcului.
Introducem (2) n (1) i obinem:

Mx Mg c( x st ) . (3)

Pentru a determina coeficientul c egalm fora elastic dup


mrime cu fora static P:
P cl c P / l c =19,6N/1m = 19,6 N/m. (4)
Pentru a determina st scriem ecuaia (3) pentru poziia de
echilibru a corpului, cnd & x& 0 , x& 0 , x 0 :
0 Mg c st st Mg / c . (5)
Ultima relaie ne permite s reducem n ecuaia (3) Mg cu c st ,
dup ce obinem
Mx cx 0 . (6)
Aceasta este ecuaia diferenial n form general pentru
oscilaiile libere unidimensionale ale unui punct material sau corp.
Dac ca origine a axei x ar fi luat un alt punct pe vertical, de
exemplu O1 , atunci ecuaia diferenial (6) ar deveni mai complicat.

Urmeaz etapa matematic de rezolvare a acestei ecuaii


difereniale. mprim (6) la M i notm c / M k . Obinem
2

x k 2 x 0 . (7)
Aceasta este forma matematic a ecuaiei (6), care se numete ecuaie
diferenial liniar, omogen de ordinul doi cu coeficieni constani.
Soluia poate fi obinut n trei forme.

I. Forma complex. Cutm soluia n forma x e st .


Introducem aceast expresie n (7), simplificm la e st i obinem
ecuaia caracteristic pentru ecuaia diferenial (7)
s2 k 2 0, (8)
rdcinile creia sunt imaginare s1 ik i s2 ik . Soluia general
a ecuaiei (7) va fi
x c1e ikt c 2 e ikt , (9)
unde c1 i c2 sunt constante arbitrare de integrare. Ele se determin
din condiiile iniiale. Deplasarea x trebuie s fie real.

II. Forma real. Aplicm n (9) formulele lui Euler


e ikt cos kt i sin kt (10)
i introducem constante noi de integrare
c1 c2 c1 ; i c1 c 2 c2 . (11)
Obinem soluia n forma
x c1 cos kt c 2 sin kt . (12)
Constantele noi c1 i c2 se determin la fel din condiiile
iniiale, dar toate mrimile n (12) sunt reale.

III. Forma comod n aplicrile tehnice. n loc de c1 i c2


introducem alte constante de integrare a i :
c1 a sin , c 2 a cos , (13)
i obinem
x a sin kt . (14)

Oscilaiile, care au loc


sub aciunea forei de
elasticitate se numesc oscilaii
libere. Fora de greutate G
determin numai poziia de
echilibru fa de care au loc
oscilaiile i perioada
oscilaiilor. Noi vedem, c
corpul se mic dup legea
sinusoidal. Astfel de oscilaii Figura 4.4.
se mai numesc armonice.
Constantele a i la fel se determin din condiiile iniiale,
dar ele au sens fizic: a este amplitudinea oscilaiilor, kt este
faza oscilaiilor, este faza iniial, k este frecvena circular,
k 2 / T , unde T este perioada oscilaiilor, T 2 M / c i nu
depinde de condiiile iniiale. n cazul nostru k 14s 1 .
Deplasarea x a corpului desfurat n timp (graficul
oscilaiilor) reprezint n cazul general o sinusoid (fig. 4.4).

Din condiiile: cnd t 0 , x0 st 5cm , x&0 0 , obinem


st a sin , 0 ak cos , (15)
3
de unde rezult: a st 0, 05m , i
2
x 0, 05cos14t m. (16)

4.4. Influena rezistenei asupra oscilaiilor


libere. Oscilaii amortizate.
Problema 32.53 din [6].

O plac cu masa de 100 g,


suspendat de arcul AB n
punctul fix A, se mic ntre polii
unui magnet. Din cauza
curenilor turbionari micarea
este frnat de o for,
proporional cu viteza. Fora de
rezisten opus micrii este
egal cu qv 2 N, unde q =
0,001, v - viteza n m/s, - fluxul
magnetic dintre polii N i S. n
momentul iniial viteza plcii Figura 4.5.
este egal cu zero i arcul nu este
ntins. Alungirea arcului cu 1 m
are loc la aciunea static a unei fore de 19,6 N, aplicate n punctul
B. S se determine micarea plcii n cazul, cnd =10 5 Vb
(Veber este unitate de msur a fluxului magnetic n SI).

Rezolvare.
Placa efectueaz micare de translaie, toate punctele ei se mic la
fel. Considerm acum punctul B punctul plcii conectat

de arc.

Asupra lui
acioneaz trei fore: fora

de greutate

G Mg , fora
elastic F i fora de rezisten R . Fora R este orientat opus

vitezei. R q 2 v bv , b q 2 am notat coeficientul de
proporionalitate. n cazul nostru b = 0.5 Ns/m. Alegem originea
axei x n punctul O, care coincide cu punctul B n poziia de echilibru
a corpului (plcii) i ndreptm axa vertical n jos. Ecuaia
diferenial a micrii punctului B a plcii se va scrie sub forma:
Mx G x Fx R x , (1)
unde Gx Mg , Fx c x st , Rx bvx bx&, i deci
Mx Mg c( x st ) bx . (2)
x& 0 , x& 0 , x 0 ,
Pentru poziia de echilibru a plcii, cnd &
avem Mg c st 0 i ecuaia (2) devine
Mx bx cx 0 . (3)
2
Introducem notrile c/M = k , b/M = 2h i obinem forma matematic
a ecuaiei (3)
x 2hx k 2 x 0 . (4)

Figura 4.6. Oscilaiile amortizate.

Repetm procedura de rezolvare din paragraful precedent.


Deoarece h 2,5s 1 iar k 14 s-1 i deci h k, rdcinile ecuaiei
caracteristice s 2 2hs k 2 sunt complexe:
s1 h ik * , s 2 h ik * , (5)
unde k k 2 h 2 , i noi obinem
x ae ht sin( k * t ) . (6)
Amplitudinile oscilaiilor, care ating nfurtoarele ae ht se
micoreaz cu timpul i oscilaiile se numesc amortizate (fig. 4.6).
Condiiile iniiale: cnd t = 0, x0 st 0, 05m , x&0 0 . nlocuim
n (6) i obinem
x0 0,05 a sin , x 0 0 ah sin ak * cos , (7)
( x 0 hx0 ) 2 k2
a x02 x 0
=0,0516m,
k *2 k 2 h2
sin x0 / a = -0,969, k 13, 77 s 1 ,
x 0,0516e 2,5t sin(13,77t arcsin 0,969 ) m.
Deoarece placa este n micare de translaie, toate punctele ei
efectueaz oscilaii analogice.

4.5. Oscilaii forate n prezena forei de


rezisten.
(Problema 32.94 din [6])

De un arc, coeficientul
de rigiditate al cruia c = 19,6
N/m, sunt suspendate o bar
magnetic cu masa de 50 g,
care trece printr-un solenoid,
i o plac de cupru cu masa
de 50 g, care trece printre
polii unui magnet (fig. 4.7).
Prin solenoid circul curentul
i 20sin 8 t A, care creeaz
o for de interaciune dintre
cmpul magnetic al
solenoidului i bar de
0.016 i N. Fora de frnare a
plcii de cupru cauzat de
cureni turbionari este egal
cu qv 2 , unde q = 0,001,
Figura 4.7.
10 5 Vb i v este viteza plcii n m/s. S se determine
oscilaiile forate ale plcii.

Rezolvare.
Alegem axa x ca i n problema precedent, dar acum asupra
r
punctului B acioneaz nc o for, fora perturbtoare Q (fig. 4.7):
Q x 0.016i 0.32 sin 8t . (1)
n acest caz ecuaia diferenial a micrii punctului B va avea
aspectul
Mx bx cx Q0 sin pt , (2)
unde Q0 0.32 N, p 8 s = 25s . mprim (2) la M i
-1 -1

introducem notrile c / M k 2 , b / M 2h , Q0 / M H 0 . Atunci


(2) devine:
x 2hx k 2 x H 0 sin pt . (3)
Ecuaia (3) a devenit neomogen, fiindc partea din dreapta
este diferit de zero. Soluia ecuaiei difereniale (3) este suma
soluiei generale x1 a ecuaiei omogene respective i a soluiei
particulare x2 a ecuaiei neomogene (3). n problema precedent am
determinat k 14s 1 , h 2.5s 1 i pentru h k am obinut soluia
ecuaiei omogene
x1 a1e ht sin( k * t 1 ) , (4)
unde a1 i 1 sunt constantele de integrare, iar k k 2 h 2 .
Soluia (4) descrie oscilaii amortizate. Soluia particular a ecuaiei
(3) se caut sub forma prii din dreapta
x 2 A sin( pt ) , (5)
unde constantele A i trebuie determinate astfel ca (5) s satisfac
ecuaia (3). Soluia (5) descrie oscilaiile forate. Constanta A are
sensul amplitudinii oscilaiilor forate, pt este faza oscilaiilor,
iar este decalajul de faz a oscilaiilor forate n raport cu faza
forei perturbatoare. Semnul minus n faa lui n (5) nseamn c
conform principiului de cauzalitate deplasarea x2 trebuie s urmeze
dup aplicarea forei Qx i deci trebuie s ntrzie n faz n raport cu
faza forei Qx . Calculm x&2 , &
x&
2 i le introducem n (3). De unde

obinem (vezi [4], Vol. 2, Cap.II, 2.6]):


H0 2hp
A tg 2
2 2 , ,
k p 4h p
2 2 2
k p2 (6)
H 0 10m / s 2 .

n rezultat avem
x a1e / ht sin( k * t 1 ) A sin( pt ) (7)
Constantele a1 i 1 se determin din condiiile iniiale. Ele vor
fi altele dect n problema precedent deoarece n (7) este i termenul
al doilea. ns oscilaiile amortizate se atenueaz i dup un anumit
interval de timp, numit timp de tranziie ttr , ele dispar. Rmn numai
oscilaiile forate, care ne intereseaz. Constantele A i nu depind
de condiiile iniiale i obinem
x 2 0.022 sin(8t 0.91 ) m. (8)
S integrm ecuaia (3) n Matlab. Introducem valorile
coeficienilor i adugm condiiile iniiale. Vom avea

x 5 x 196 x 1000 sin 25t , x 0 5 cm, x 0 0 cm/s.

Singuri alegei intervalul de tip t pentru ca pe ecran s se vad


timpul de tranziie ttr , cnd rmn numai oscilaiile forate. n cazul
de fa am ales, c t variaz de la 0 la 4s.
Rezolvarea se reduce la urmtorii pai:

1). Crearea file-funciei i memorizarea ei: ofr1.m (oscilaii


forate cu rezisten 1):
ofr1.m
function dxdt=ofr1(t,x);
dxdt=zeros(2,1); % a column vector
dxdt(1)=x(2);
dxdt(2)=-5*x(2)-196*x(1)+1000*sin(25*t);

2). Obinerea soluiei i a graficului nsoitor:


>> [t,x]=ode45(@ofr1,[0 4],[-5;0]);
plot(t,x(:,1),'-');
title('Oscilatii fortate cu rezistenta');
xlabel('Timpul t, sec.');
ylabel('Deplasarea x, cm')

n rezultat obinem graficul micrii (figura 4.8, a)). Observm,


c timpul de tranziie, dup care rmn numai oscilaiile forate este
aproximativ de 1,5 sec (figura 4.8, b)).
Oscilatii fortate cu rezistenta Timpul de tranzitie
6 6

4 4

2 2
Deplasarea x, cm

Deplasarea x, cm

0 0

-2 -2

-4 -4

-6 -6
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Timpul t, sec. Timpul t, sec.

a) pe intervalul [0 4] b) doar pentru timpul de tranziie


Figura 4.8. Graficele funciei

Obinerea graficului doar pentru timpul de tranziie:

>> [t,x]=ode45(@ofr1,[0 2],[-5;0]);


plot(t,x(:,1),'-');
title('Timpul de tranzitie');
xlabel('Timpul t, sec.');
ylabel('Deplasarea x, cm')
Sarcina lucrrii Nr. 4.
Varianta Nr. 1.
I. De calculat numeric integralele definite ordinare:
Varianta Integrala a) Integrala b)
1 2


xdx
1
1/ 2
(1 2 y ) 3 1 (1 2 y ) 4 dy
(x
1
2
1) 3
1 1
u 2 du
y ( y 1) dy (2 u
1/ 2 3/ 2 1/ 2
2 3 3
)
0 0
8 1
z
x (z
3
3 x 4 1dx 2
dz
1) 4
1 0
1 1
dx
(1 5x )
1 / 3
4 dy
3
1 5x
0 0
5 5

5
0
z z 2 4 dz
z
0
z 2 4 dz

z 1
9

6
0
1 y dy
(z 2
2 z 3) 2 / 3
dz
2 5/9
dy
7
1
x 1 / 3 ( x 2 / 3 1)1 / 3 dx

0
1 y (1 1 y )2
5
5
y 2 dy
1 5x
2 2
3 2 x dx
3
8
y y 14 2 1/ 3
1 1

z 2 dz3 1/ 3
4 5/ 2

y
1/ 4

2 3/5
9 2 y dy
z z 1 2 2
0 1

u 1 du 2 1/ 3
3 3

y y
3

3 2
10 3y 1 2 dy
u u 23 2 1/ 2
1 1.2
z dz
1/ 5
2
5 4 z 1
x
1/ 5

4 2 6
11 x 1 x dx
z 3 4 2
1/ 2 1.5

x x dx
1/ 5
2 3 1/ 3 2

u
3

3
12 3u1/ 3 2 u 2 du
x x
1/ 3
3 1/ 2
2 1

z z dz
1/ 3
3 4 3 2/3

x
3/ 2

1/ 4
13 x x3 dx
z 1 4 2
0 1.5

4 3
u u du
3 3 / 2 1/ 3

y
3 1/ 5

1/ 3 7/3
14 y y dy
u 2 2 1/ 5
1 1

z z dz
1/ 5


3/ 2


3 4

x
3/ 2
15 x 4 2 dx
z 2 3 1/ 3
1.2 1

4 4
x 3x dx
4 1/ 3

y
1/ 3
x 4
5/3 3/ 2
16 1 y dy 2
1.5 1.2

3 2
u u du
3 1/ 3

x u 2
3/ 2 7/3
17 1 x dx 3/ 4
1.2 0.5

3 3
y y dy
2/5

x x y 3
3/ 4 2/3
18 2 dx 3
0 0.2

4 3
z z dz
3/ 4

y y dy
7/3 3 3/5
19 y
z 1
3 1/ 3
0.5 0

3 3 z z 1 dz
3/ 2 3

x z 2 1/ 3
7/3 3
20 x xdx
0.2 0.5
3 2

y1/ 3 y 2 2 dy
x x dx y3 / 2 1
3/ 2 3 1/ 3
21 x
0 0

3 3

u 3 / 2 u1/ 3 1 du
z z
4/3 2
22 3 dz
1.2 0.5 u u 3/ 5

3 2
y 2 y dy
3/ 2 2

x x y 1
7/3 3
23 2 dx 3
0.5 0.2

x 1 dx
4 7/3 3/ 2

y y
3
4/3 1/ 5
1 dy
24
1
x3 2
0

y
4/3 1/ 5
3 4 y dy
u
1/ 3

3/ 4 3
25 u 2 du
0.2 0.2 y 2
1
y dy
1/ 5 4/5 1/ 4
4 3 y1/ 3
x x x
1/ 3 3 3/ 2
26 dx
0 0.3 y 1 3

3 4
x x dx
3/ 2 2 / 7 1/ 3

z z 1
1/ 3

7/2 4
27 dz
0.2 0.1 x 1 2

3.1 3
y 1 y dy
5/ 2 2

x x
1/ 3
y 2
3/ 5 2
28 1 dx 3
0 0

z 2 dz
3/5 1/ 3
2 4

u
1/ 3
z 1
3
29 1 udu
2
0.1 0.1

y y 2 dy
3/ 2 3 1/ 3
3

x x
3/ 4
y 2
7/3 2
30 1 dx
2
0
II. De calculat numeric integrala definit dubl folosind file-funcia
respectiv:
Varianta Integrala dubl
5 11

[e
x y
1 ln( xy )]2 / 3 dxdy
4 10
1 1

[4 x
3
2 y 3 y 2 x ]1/ 4dxdy
0 0
2 1

[4 y
23
3 x cos y ]1/ 3dxdy
1 2
3 1

(e
x
4 cos y ) 3 dxdy
2 0
3 2

( x y)
3
5 e x y dxdy
2 1
4 2

(6 x
2
6 y 8 xy 3 ) x 3 y 3 dxdy
3 1
0.2 0

[x
2
7 y 3 sin x ]e x dxdy
0.11

3 2 1/ 3

sin x ye dxdy
x2 y2
8

1 0.1
3 4 1/ 2

9
2
2

ln x y y sin xy dxdy
0.1 1
3 1 1/ 4

xe x cos y
x y 3
10 dxdy
1 0.2
32 1/ 3

ye x cos y dxdy
x
11
1 1
43
12 3x
2
y 2 x ln xy dxdy
21
32 1/ 3

x 2 y x arcsin xy dxdy
3
13
21
23 1/ 2

x x y ye
3/ 2 2 x y
14 dxdy
1 1
2 1


3/ 4
x 7 / 2 3xy 2 sin x
15
dxdy
0.2 0.1
32 1/ 3

x 2 y x arcsin xy dxdy
3
16
21
2 1

x sin x e x y dxdy
3 3/ 2
17 y
1 0.2
2 1
18 x
3/ 2 7 / 3
y ln xy sin xdxdy
1 0.3
4 1

x x
4/3 y
2
xe x y xydxdy
19
0.5 0.4

32
20 x
1/ 3
sin xy x 2 / 3 y 7 / 2 e x y dxdy
21
32 0.7

x x e x y dxdy
1/ 3 2 / 5
21 y
1 1
3 1

xy sin x dxdy
1/ 3
x x y
3 7/2
22
2 0.1
32 1/ 3

xy dxdy
1/ 3 x y 1/ 3 7 / 2
23 e x y
21
2 1 1/ 3
xy sin xy ln xe x y dxdy

2
24

1 0.1
3 2

3x
3 1/ 3
25 y 4 xy cos x x 7 / 3 y1/ 5 dxdy
1 0.5
32 1/ 3

26 x
2 1/ 5
y 3ln xy x 2 y 3dxdy
21
3 2 1/ 3

sin x ye dxdy
x2 y2
27

1 0.1
32 1/ 3

x 2 y x arcsin xy dxdy
3
28
21
32 1/ 3

x 2 y x arcsin xy dxdy
3
29

21
4 1
4/3
xe x y xydxdy
2
30 x x y
0.5 0.4
III. De rezolvat numeric ecuaia diferenial a micrii punctului
material i de construit graficul respectiv pentru intervalul de timp
(n secunde) [0, 30]. De selectat amplitudinea forei perturbatoare i
intervalul de timp t astfel, ca s obinei doar graficul pentru timpul
de tranziie ttr :

y (0) , y
( 0) ,
Varianta Ecuaia diferenial
cm cm/s
1 y& 2 y& 14 y 800 cos(20t ),
& 10 2

2 y 3.2 y 3 y 7 cos(15t ), 12 3

3 y 2.5 y 1.5 y 8 cos(20t ), 16 -2

4 y 6 y 2.4 y 4.5 cos(12t ), 13 -3.2

5 y 5.2 y 4.7 y 5.8 cos(10t ), -10 -3.2

6 y 6.2 y 4.3 y 6.5 cos(14t ), 14 -4.2

7 y 2.2 y 1.4 y 6.5 cos(18t ), 7 1.4

8 y& 1.3 y& 20 y 1000 cos(18t ),


& 8 1

9 y& 1.4 y& 10 y 1100 cos(20t ),


& 9 2

10 y& 1.5 y& 22 y 1050 cos(17t ),


& 7 -1.5

11 y& 2 y& 12 y 1120 cos(19t ),


& 8 2.5

12 y& 1.2 y& 28 y 840 cos(17t ),


& 7 3

13 y& 1.4 y& 10 y 880cos(18t ),


& -9 1

14 y& 1.8 y& 20 y 720cos(20t ),


& 8 -1.5

15 y& 1.4 y& 18 y 680 cos(21t ),


& 10 1.8
16 y& 1.2 y& 19 y 590 cos(17t ),
& -8 2.1

17 y& 1.8 y& 14 y 640cos(18t ),


& 7 2.4

18 y& 1.6 y& 18 y 710cos(19t ),


& -9 1.5

19 y& 2.2 y& 22 y 500cos(18t ),


& 8 1.2

20 y& 1.4 y& 18 y 620cos(19t ),


& 9 -1.4

21 y& 2 y& 24 y 690cos(20t ),


& 7 2

22 y& 1.4 y& 20 y 580 cos(19t ),


& 8 1.2

23 y& 2.2 y& 24 y 660cos(18t ),


& -6 1.6

24 y& 1.8 y& 18 y 560cos(16t ),


& 9 -1.4

25 y& 2.1 y& 16 y 620 cos(19t ),


& -8 2

26 y& 2 y& 22 y 740cos(20t ),


& 9 -1.8

27 y& 1.4 y& 20 y 800 cos(21t ),


& 7 1.4

28 y& 1.6 y& 12 y 600 cos(19t ),


& 8 2.2

29 y& 1.4 y& 18 y 580cos(18t ),


& 9 -1.1

30 y& 2.2 y& 20 y 620cos(17t ),


& -8 -1.2
1,16 2,17
2a
OM

.
M
R

O
D
a
a
.
D

e e O1
O1
3,18 O 4,19 .
M
O
e
.
M
R
D
2a
D

e e
O1 O1
a a
5,20

a
O1
e
6,21 O
.M

a
D e


O
D

M
. a a
O1

7,22
a . M
8,23

. M
O1 O
R e
D O1
D
e O
a
ANEXA 1.
EXEMPLU - Foaie de titlu.

Ministerul Educaiei i Tineretului


al Republicii Moldova

Universitatea Tehnic a Moldovei

Catedra Mecanica Teoretic

RAPORT
despre lucrarea de laborator Nr. 1

la Mecanic realizat n MATLAB


Tema: Elemente ale programului MATLAB

Varianta 5

A ndeplinit st.gr.TI-041 Sergiu Olaru

A controlat Valeriu Mihailov

Chiinu 2017
ANEXA 2.
EXEMPLU - Foaie de titlu.

Ministerul Educaiei i Tineretului


al Republicii Moldova

Universitatea Tehnic a Moldovei

Catedra Mecanica Teoretic

RAPORT
despre lucrrile de laborator
la Mecanic realizate n MATLAB

Varianta 5

A ndeplinit st.gr.TI-041 Sergiu Olaru

A controlat Valeriu Mihailov

Nr. lucrrii de Data Rezultatul Semntura


laborator verificrii aprecierii profesorului
Lucrarea nr.1
Lucrarea nr.2
Lucrarea nr.3
Lucrarea nr.4

Chiinu 2017
ANEXA 3.
Secvenele de caractere folosite la grafice.

Cnd interpretatorul de text e setat TeX (setare implicit), e


posibil de folosit un subset de comenzi TeX incluse n text pentru
producerea simbolurilor speciale, aa ca literele greceti, simboluri
matematice. Acest tabel prezint lista caracterelor i secvenelor de
caractere folosite pentru definirea lor.
Secvena de

Secvena de

Secvena de
caractere

caractere

caractere
Symbol

Symbol

Symbol
\alpha \upsilon \sim ~
\beta \phi \leq
\gamma \chi \infty
\delta \psi \clubsuit
\epsilon \omega \diamondsuit
\zeta \Gamma \heartsuit
\eta \Delta \spadesuit
\theta \Theta \leftrightarrow
\vartheta \Lambda \leftarrow
\iota \Xi \uparrow
\kappa \Pi \rightarrow
\lambda \Sigma \downarrow
\mu \Upsilon \circ
\nu \Phi \pm
\xi \Psi \geq
\pi \Omega \propto
\rho \forall \partial
\sigma \exists \bullet
\varsigma \ni \div
\tau \cong \neq
\equiv \approx \aleph
\Im \Re \wp
\otimes \oplus \oslash
\cap \cup \supseteq
\supset \subseteq \subset
\int \in \o
\rfloor \lceil \nabla
\lfloor \cdot \ldots ...
\perp \neg \prime
\wedge \times x \0
\rceil \surd \mid |
\vee \varpi \copyright
\langle \rangle

De asemenea se poate de folosit secvenele de caractere pentru


modificarea fontului folosit:
\bf Font ngrat
\it Font oblic
\sl Font oblic
\rm Font normal
\fontname{numele fontului} specificarea fontului nou.
\fontsize{mrimea fontului} specificarea mrimii fontului.
Modificrile rmn n vigoare pn la sfritul rndului ori in
contextul definit de parantezele indicate { }.

ANEXA 4.
Textul sarcinilor lucrrilor de laborator n limba rus.

I
.

II.
N1 , x= -1,75*10 3 y = 3,1 .
MATLAB ,


whos.

III.
.
I
.

II.
. ,
N2 , ,
MATLAB .
:
) ;
b) - ;
) - (
subplot);

III.

mesh , surf,meshc,surfc,contour,contourf,conto
.

I. file-
plo
fplot.

II. file- . (
xy) -t () ,
x y . (
figpas)
(fig) (pas),

N3 ,
.
figpas Comand Win
1.



.
.
2. , ,


3.
,
.
4.

III. file- . (
xyz) -t (),
x,y z . (
figpas)
(fig) (pas),


.
figpas Comand Wind
1.




.
2. , ,

.
3.

N4 , I.




Bibliografie

1. ., MATLAB 6 : , , ,
2001.
2. ., .,
MATLAB. , ,
, 2001.
3. .., MATLAB
. . .
.
4. N.V. Butenin, I.A. Lun, D.R. Merkin, Curs de Mecanic
Teoretic, Vol. 1, 2. Ed. Lumina, Chiinu-1993.
5. V. Caraganciu, M. Colpagiu, M. opa, Mecanica Teoretic,
Chiinu, tiina, 1994.
6. I.V. Mecerski, Culegere de probleme la Mecanica Teoretic.
Ed. Lumina, Chiinu-1993.
7. Andrew Knight, Basics of MATLAB and Beyond,
Chapman&Hall/CRC, 2000
8. Patrick Marchand, O.Thomas Holland, Graphics and GUIs
with MATLAB. Third edition, Chapman&Hall/CRC, 2003
9. The MathWorks MATLAB Tutorial
http://www.mathworks.com/academia/student_center/tutorials
/launchpad.html

_____________________________________________________
Bun de tipar Formatul hrtiei 60x84 1/16
Hrtie ofset. Tipar RISO Tirajul 500 ex.
Coli de tipar 7,5 Comanda nr.
_______________________________________________________
U.T.M., 2007, Chiinu, bd. tefan cel Mare, 168
Secia Redactare i Editare a U.T.M.
2068, Chiinu, str. Studenilor, 9/9.
UNIVERSITATEA TEHNIC A MOLDOVEI

ION BALMU
ANATOLIE CASIAN
VALERIU MIHAILOV

LUCRRI DE LABORATOR LA MECANIC

REALIZATE N MATLAB

Chiinu
2007

S-ar putea să vă placă și