Sunteți pe pagina 1din 0

1

UNIVERSITATEA TEHNIC A MOLDOVEI



ION BALMU, ANATOLIE CASIAN, VALERIU MIHAILOV







Lucrri de laborator

la Mecanic realizate n MATLAB













Chiinu
U.T.M.
2006
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

2


Notri............................................................................................................................. 4
Introducere..................................................................................................................... 5
Ce este MATLAB..................................................................................................... 5
Versiunile existente. .................................................................................................. 6
Pornirea sistemului MATLAB 6 i lucrul n regim de dialog. ................................. 6
Lucrarea 1. Elemente ale programului MATLAB........................................................ 9
1.1. Comenzile de redactare a rndului (redactorul rndului). ................................. 9
1.2. Comenzile de dirijare a ferestrei n regimul de comand. ............................... 10
1.3. Regimul de comand........................................................................................ 10
1.4. Expresiilor aritmetice....................................................................................... 11
1.4.1. Numerele................................................................................................... 11
1.4.2. Operaiile aritmetice.................................................................................. 11
1.5. Variabilele ........................................................................................................ 12
1.5.1. Vizualizarea variabilelor ........................................................................... 12
1.5.2. tergerea determinrii variabilelor ........................................................... 12
1.6. Formatul numerelor.......................................................................................... 13
1.7. Funciile matematice ........................................................................................ 14
1.8. Vectori i matricele .......................................................................................... 15
1.9.1. Matricele. .................................................................................................. 15
1.9.2. Introducerea matricelor. ............................................................................ 16
1.9.3. Operatorul colon ....................................................................................... 17
1.9.4. Generarea matricelor................................................................................. 17
1.9.5. Apelrile la matrice. .................................................................................. 17
1.9.6. Dimensiunile matricei. .............................................................................. 18
1.9.7. Operaiile cu matrice. ................................................................................ 19
1.9.8. Operaiile cu masivele (tabelele) .............................................................. 19
1.9.9. Lucrul cu matricele. .................................................................................. 20
1.10. Anunul despre erori i ndreptarea erorilor................................................... 21
Sarcina Lucrrii Nr 1............................................................................................... 26
Lucrarea 2. Grafica n programul MATLAB.............................................................. 32
2.1. Grafica i vizualizarea datelor.......................................................................... 32
2.2. Construirea ntr-o fereastr a graficelor ctorva funcii ................................... 33
2.3. Construirea funciilor de dou variabile .......................................................... 34
2.4. Lucrul cu cteva grafice................................................................................... 36
Sarcina Lucrrii Nr. 2.............................................................................................. 38
Lucrarea 3. Calculul traiectoriei punctului material. .................................................. 42
3.1. File-funcii i file-programe............................................................................. 42
Sarcina Lucrrii Nr. 3.............................................................................................. 45
Lucrarea 4. Integrarea ecuaiilor difereniale ale micrii punctului material. ........... 49
4.1. Integrarea numeric.......................................................................................... 49
4.1.1. Integrale definite ordinare. ........................................................................ 49
4.1.2. Integrale definite duble. ............................................................................ 49
4.2. Rezolvarea ecuaiilor difereniale. ................................................................... 50
4.3. Studiul oscilaiilor libere.................................................................................. 53
4.4. Influena rezistenei asupra oscilaiilor libere. Oscilaii amortizate. ............... 55
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

3
Sarcina lucrrii Nr. 4. .............................................................................................. 59
ANEXA 1. EXEMPLU - Foae de titlu. ...................................................................... 61
ANEXA 2. EXEMPLE la lucrarea Nr. 1 .................................................................... 62


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

4

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 - calcularea integralelor,
rezolvarea ecuaiilor difereniale de ordinul doi). Sarcinile lucrrilor de laborator sunt prezentate n
30 de variante.
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

Responsabil de ediie: prof. univ. dr. hab. Anatolie Casian

Recenzent: conf. univ. dr. Gheorghe Coman


Notri

Exemplu pentru regimul de comand - fereastra Command Window,
>> 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


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

5
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


Sistemul MATLAB const din 5 pri principale:

Mediul de dezvoltare este un set de utilitare cu faciliti care ajut s folosim funciile i
fiierele din MATLAB. Multe din aceste utilitare au interfa grafic. Ele includ masa de lucru din
MATLAB, 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, pn la funciile sofisticate - matrice inverse, funciile
Bessel, transformarea rapid Fourier 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.

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

6
Grafica. MATLAB are faciliti extensive pentru vizualizarea vectorilor i matricelor ca
grafice. Grafica include funcii pentru vizualizarea datelor 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.

Versiunile existente.

n momentul de fa sunt mai multe versiuni a pachetului MATLAB :
1) MATLAB 6.1 (Release 12) lansat n 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 (URL)
8) MATLAB 7.3 (Release 2006b) lansat la 1 Septembrie 2006 (URL)
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)

Documentul n fa e scris pe baza versiunilor R12 i R14SP2. Daca sunt diferene eseniale
ntre programe n document ele sunt artate.
Ambele versiuni se gsesc pe Internet (http://www.torent.md sau http://www.p2p.md)

Pornirea sistemului MATLAB 6 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.


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.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

7
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) b)
Fig.I.4. Setarea vizibilitii tuturor ferestrelor:
a) Matlab 6 View Desktop Layout Default
b) Matlab 7 Desktop Desktop Layout Default

Programele pot fi redactate intr-un editor de texte i pe urm copiat n rndul de comand
folosind Clipboard-ul. Exemplele din prezenta lucrare tot se pot de inserat n 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 d eroare 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 la 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 al lui, deoarece el are
acelea 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.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

8
Pentru lansarea Editorului intern din MATLAB este nevoie de a face click pe butonul New
M-file

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

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

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

9
Lucrarea 1. Elemente ale programului MATLAB

1.1. Comenzile de redactare a rndului (redactorul rndului).

Cnd se lucreaz cu MATLAB n regim de comand, se aplic comenzile de redactare a
rndului, indicate n tabelul 1.1.
Tabela 1.1.
Comenzile de redactare a rndului n MATLAB.
Tasta Combinaia
de taste
Destinare
Ctrl+P
Rsfoirea comenzilor precedente (n sus) pentru includerea n
rndul de introducere
Ctrl+N
Rsfoirea comenzilor urmtoare (n jos) pentru includerea n
rndul de introducere
Ctrl+Home Deplasarea cursorului la nceputul ferestrei Command Window
Ctrl+End Deplasarea cursorului la sfritul ferestrei Command Window
Ctrl+B Deplasarea cursorului n dreapta la un simbol
Ctrl+F Deplasarea cursorului n stnga la un simbol
Ctrl+ Deplasarea cursorului n dreapta la un cuvnt
Ctrl+ Deplasarea cursorului n stnga la un cuvnt
Home Ctrl+A Deplasarea cursorului la nceputul rndului de comand
End Ctrl+E Deplasarea cursorului la sfritul rndului de comand
Esc Ctrl+U Curirea rndului de introducere
Delete Ctrl+D tergerea simbolului la dreapta de cursor
Backspace Ctrl+H tergerea simbolului la stnga de cursor
Ctrl+K tergerea pn la sfritul rndului
Ins Activarea/deactivarea regimului de includere
Shift+Home Selectarea pana la nceputul rndului
Shift+End Selectarea pana la sfritul rndului
PgUp Rsfoirea foilor sesiunii n sus
PgDn Rsfoirea foilor sesiunii n jos
Enter
Executarea comenzii. Daca exista ceva selectat in fereastra
command 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.

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.

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

10
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.

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 :
>> 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

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

11
1.4. Expresiilor aritmetice

Ca i alte limbaje de programare MATLAB posed calcularea expresiilor matematice, dar n
comparaie cu majoritatea limbajelor, aceste expresii la calculare implic 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. Numerele cu virgul mobil au o precizie finit cu 16 numere dup
virgul, iar precizia 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.

Exemplu de mprirea la stnga:
>> 1\2/5
ans = 0.4000
>> 1/2\5
ans = 10
n primul exemplu 1\2/5 se execut n felul urmtor - 2/1 i rezultatul se mparte la 5, iar
exemplul doi 1/2\5 5 se mparte la rezultatul de la 1/2.

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

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

12
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 senzitiv - 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 predefinit
special ans (din englez "answer" - rspuns):
>> 2.15+1.07
ans =3.2200
>> ans-0.22
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:
>> 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.
Presupunem, c variabilelor a i b le-au fost atribuite valori. Chemai comanda whos indicnd n
calitate de parametru a comenzii numirea 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, dar Size conine informaia 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:
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

13
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.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
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
c = 0.12
>> format rat; a, b, c
a = 1/3333
b = 1/4
c = 10/81
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

14

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 tab. 4.1. Lista complet a tuturor funciilor matematice elementare poate fi obinut, culegnd n
rndul de comand help elfun. Pentru a obine informaia amnunit despre sintaxa unei funcii
culegei i executai n linia de comand help <numele funciei>.
Tabelul 1.4
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, atan, acot Arcsinus, arccosinus, arctangenta i arccotangent
asec, acsc Arcsecanta, arccosecanta
Funciile hiperbolice
sinh, cosh, tanh, coth Sinus, cosinus, tangenta i cotangenta hiperbolice
sech, csch Secant i cosecant hiperbolice
asinh, acosh, atanh,
acoth
Arcsinus, arccosinus, arctangent i 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 patrat, rdcina din 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,
52
2

=
realmin
cel mai mic numr real,
1022
2


realmax
cel mai mare numr real,
1023
2 ) 2 (
Inf Infinitate
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:
3
1 . 0
1 . 0
1 . 0
1 . 0
3
4
cos
3
4
sin
3
4
cos
3
4
sin
y
y
y
y
e x
e x
e x
e x
c
+

+
+


n pachetul MATLAB vom avea:
>> x=0.2;
>> y= -3.9;
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

15
>> 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)+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. Vectori 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 ale MATLAB-ului:
- n timp, ce unele limbaje de programare lucreaz doar cu elementele din matrice cte unul,
MATLAB permite s lucrai cu ntreaga matrice repede i uor.
- nu este necesar s declarm dimensiunile matricelor - ele pot fi redimensionate pe parcursul
lucrului.

1.9.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]
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

16

1.9.2. Introducerea matricelor.

Matricea (vectorul) se poate de introdus n cteva metode:
- introducerea explicit a elementelor
- citirea matricei dintr-un fiier cu date
- 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

=
12 9 6 3
11 8 5 2
10 7 4 1
c
>> 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 privit ca un vector-coloan, fiecare
element al cruia este un rnd al matricei:
>> 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:
>> 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]]
>> c=[ [1 4] 7 10; [2;3] [5 8; 6 9] [11;12]]

Fie avem de introdus vectori-coloan i vectori-rnd

=
6 . 4
9 . 3
2 . 0
1 c

=
5 . 2
1 . 0
6 . 7
2 c [ ] 1 . 8 7 . 3 5 . 0 1 . 0 1 = r [ ] 7 . 5 4 . 3 7 . 9 2 . 5 2 = r
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];
>> r2=[5.2 9.7 3.4 -0.2];

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

17
1.9.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 finaal >
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


Des se cere de a calcula o funcie de la valorile argumentului unui vector, care se deosebesc cu
un pas constant. 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.9.4. Generarea matricelor.

ZEROS - generarea unei matrice elementele creia este 0. zeros(y,x).
ONES - generarea unei matrice elementele creia este 1. ones(y,x). Generarea unei matrice
elementele creia va fi egal cu un numr n se execut n felul urmtor n*ones(y,x)
MAGIC - crearea unei matrice ptrate magice sumele elementelor fiecrui rnd i fiecrei
coloane sunt egale. Sintaxa este magic(n) unde n este lungimea matricei ptrate.
RAND - crearea unei matrice ptrate cu elemente aleatorii. Sintaxa este rand(n) unde n este
lungimea matricei ptrate.

1.9.5. Apelrile 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.
>> 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.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

18
>> vl(2)
ans =3
>> vc(2)
ans =5

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 , j) se va referi la elementele j din rndurile de la i1 pn la i2 inclusiv.

Schema n Visio

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
d =
1 4 7 10 0
2 5 8 11 0
3 6 9 12 15

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). 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:

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

1.9.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
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

19

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
>> sd=size(d)
sd =
3 5

1.9.7. Operaiile cu matrice.

Matricele de aceleai dimensiuni se adun i se scad unul din altul 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
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.9.8. Operaiile cu masivele (tabelele)

Dac ne vom ndeprta de algebra liniar, matricele pot fi privite ca masive numerice bi-
dimensionale. 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 :
>> c2=[20:23; 30:33; 40:43]
>> c3=c .* c2
c3 =
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

20
20 84 154 230
60 155 256 363
120 246 378 516

Un exemplu de calculul a funciilor mai complicate de la valorile vectorilor:

>> f=(v.*sin(v)+v.^2)./(v+1)

1.9.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

Operaia de transpunere este marcat de 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 =
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

21
45
ans =
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.

>> diag(a)
ans =
1 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0
0 0 3 0 0 0 0 0 0
0 0 0 4 0 0 0 0 0
0 0 0 0 5 0 0 0 0
0 0 0 0 0 6 0 0 0
0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 8 0
0 0 0 0 0 0 0 0 9

>> diag(a,1)
ans =
0 1 0 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0 0
0 0 0 3 0 0 0 0 0 0
0 0 0 0 4 0 0 0 0 0
0 0 0 0 0 5 0 0 0 0
0 0 0 0 0 0 6 0 0 0
0 0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 0 8 0
0 0 0 0 0 0 0 0 0 9
0 0 0 0 0 0 0 0 0 0

>> diag(a,-1)
ans =
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0
0 0 3 0 0 0 0 0 0 0
0 0 0 4 0 0 0 0 0 0
0 0 0 0 5 0 0 0 0 0
0 0 0 0 0 6 0 0 0 0
0 0 0 0 0 0 7 0 0 0
0 0 0 0 0 0 0 8 0 0
0 0 0 0 0 0 0 0 9 0


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(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.10. 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 apsa 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
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

22
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 oarecare 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 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 close clutch
clabel cleanp clipdata close_system clutch_if
clabelm cleanupcomment cliprollregions closereq clutchplot
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
n cazul nostru de mai sus trebuie s punem cursorul dup sqr. Din lista operatorilor propui
de sistem vom alege sqrt. Folosind tasta <> aezm cursorul dup litera r. Acum apsm tasta
<t> i dup aceea tasta <ENTER>. Expresia va obine aspectul urmtor
>> sqrt(2)
ans =
1.4142

n versiunea MATLAB 7:
4. dac exist o singur variant, atunci dup apsarea tastei <TAB> sistemul ar fi terminat
numele funciei necunoscute fr transferul rndului.
5. 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

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

23

Fig.1.6. Meniul de completare a comenzii

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 urmtoare 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.
>> x=10 - 2 3
??? x=10 - 2 ? 3
|
Error: Missing operator, comma, or semicolon.
>> x=10 - 2 ^ 3
x =
2

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.


a) b)
Fig.1.7. Simbolurile necunoscute n MATLABS: a) Matlab 6 i b) Matlab 7
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

24

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:



Fig.1.8. 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. Acest ajutor sistemul MATLAB l arat doar
cteva secunde.
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.
n versiunea MATLAB 7:
Acest ajutor n aceast versiune este mai avansat.

a) b)
Fig.1.9. Exemplu cu perechile de paranteze : a) perechea gsit i b) fr pereche

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.


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.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

25
Preferabil ca orice program s se nceap cu comenzile
clear;
format compact;

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

26
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.1p. De prezentat rezultatul n diferite formate i de studiat informaia despre
variabile cu ajutorul comenzii whos. Optimizati programul (dup posibilitate) folosind variabilele
intermediare.

Varianta Expresiile
1
3.5
1
sin cos sin
sin ;
sin sin cos
x x x
x x
e y e y e y
F x y
x y e y e y

+ +
= + +

+ +


5
2
5
ln
2 sin
;
2 sin ln
x x y
x y
F arctg
x y x y

= +


2
( )
3 2.5
1
ln cos
;
ln cos
x ctgy x y
A
x ctgy x y
+ +
= +


+ +


( ) ( )
3
2 2
2 2 2
cos
cos
ln sin ;
cos
cos
x y
x y
A sh y x
x y
x y
+

= + +
+


3
( )
3.1
3
2
1
3
sin ln 2.5
sin ;
sin ln
y x
x tgy
B x y
y x
x tgy

+
= + +

+

( ) ( )
( )
2
1.3 3 2
2 1.5
1.3 3 2
sin 1 cos
ln ;
sin cos
x y x y
B ch
x y x y
+ +
= +
+ +

4
( )( )
( )( )
2.3
2
2
1 2
2
1 1 2
ln
;
ln
1 1 2
x x x
ctgy x
H
ctgy
x x x

+ +


= +
+ +

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

+

= +



5
( )
( )
2
1 2
cos 3sin
100 cos
;
100
cos 3sin
x
x
e y y
x tgy y
Z
x tgy
e y y
+
+ +
= +
+
+

( )
3
2.3
2 2
2 2 2
cos
sin
;
sin cos
x y
x y
Z cth
x y x y
+
+
= +

+ +


6
( )
( )
2.1
2
1
2 2
1 2
100 sin
;
100 1 2
x x
x ctgy y
Q
x ctgy x x

+
+ +
= +

+ +


( ) ( )
( )
2.2
1.3
3 2
2
3
3
cos sin
;
sin
cos
x y x x y
Q
x y
x y
+
= +
+


7
( )
( )
( )
( )
2.2
2
1 1/ 3 4
2
2
5 sin
;
50 sin
x y
x x tgy
R
x x tgy
x y
+
+
= +
+
+

( ) ( )
2
2 1.3 1/ 3
2
ln cos 2 sin
;
ln 2 sin
x tgy y x y
R sh
x tgy x x y
+ + +
=
+ + +

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

27
8
( )( ) ( )
( )
2
1/ 3
2 3
1
2 3
2 1 3 sin ln cos
;
sin ln 1 3
x x x y x y
T
y x x x
+ + + +
= +
+ +

( )
( )
( )
( )
1/ 4
4
2 1/ 4
4
1 2 cos
arcsin cos 2
;
arcsin cos 2 sin
1 2
x y
y x
T
y x y
x
+ +
+
= +
+ +
+

9
2.5
3
1
sin cos sin
sin ;
sin sin cos
x x
x x
e y e y x y
F x y
x y e y e y

+ +
= + +

+ +



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

+

= +



10
( )
3 2.5
5
1
ln cos
;
ln cos
x ctgy x y
A
x ctgy x y
+ +
= +


+ +


( )
2
2.3
2 2
2 2 2
cos
sin
;
sin cos
x y
x y
Z cth
x y x y
+
+
= +

+ +


11
( )
2.3
3
2
1
3
sin ln 2.5
sin ;
sin ln
y x
x tgy
B x y
y x
x tgy

+
= + +

+

( ) ( )
( )
1.3
1.3
3 2
2
3
3
cos sin
;
sin
cos
x y x x y
Q
x y
x y
+
= +
+


12
( )( )
( )( )
2.3
2
2
1 2
2
1 1 2
ln
;
ln
1 1 2
x x x
ctgy x
H
ctgy
x x x

+ +


= +
+ +

( ) ( )
2
2 1.3 1/ 3
2
ln cos 2 sin
;
ln 2 sin
x tgy y x y
R sh
x tgy x x y
+ + +
=
+ + +

13
( )
( )
2
1 2
cos 3sin
100 cos
;
100
cos 3sin
x
x
e y y
x tgy y
Z
x tgy
e y y
+
+ +
= +
+
+

( )
( )
( )
( )
1/ 4
4
2 1/ 4
4
1 2 cos
arcsin cos 2
;
arcsin cos 2 sin
1 2
x y
y x
T
y x y
x
+ +
+
= +
+ +
+

14
( )
( )
2.1
2
1
2 2
1 2
100 sin
;
100 1 2
x x
x ctgy y
Q
x ctgy x x

+
+ +
= +

+ +


5
2
5
ln
2 sin
;
2 sin ln
x x y
x y
F arctg
x y x y

= +


15
( )
( )
( )
( )
2.2
2
1 1/ 3 4
2
2
5 sin
;
50 sin
x y
x x tgy
R
x x tgy
x y
+
+
= +
+
+

( ) ( )
3
2 2
2 2 2
cos
cos
ln sin ;
cos
cos
x y
x y
A sh y x
x y
x y
+

= + +
+


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

28
16
( )( ) ( )
( )
2
1/ 3
2 3
1
2 3
2 1 3 sin ln cos
;
sin ln 1 3
x x x y x y
T
y x x x
+ + + +
= +
+ +

( ) ( )
( )
2
1.3 3 2
2 1.5
1.3 3 2
sin 1 cos
ln ;
sin cos
x y x y
B ch
x y x y
+ +
= +
+ +

17
( )
3 2.5
1
ln cos
;
ln cos
x ctgy x y
A
x ctgy x y
+ +
= +


+ +


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

+

= +



18
( )
3.1
3
2
1
3
sin ln 2.5
sin ;
sin ln
y x
x tgy
B x y
y x
x tgy

+
= + +

+

( )
3
2.3
2 2
2 2 2
cos
sin
;
sin cos
x y
x y
Z cth
x y x y
+
+
= +

+ +


19
( )( )
( )( )
2.3
2
2
1 2
2
1 1 2
ln
;
ln
1 1 2
x x x
ctgy x
H
ctgy
x x x

+ +


= +
+ +

( ) ( )
( )
2.2
1.3
3 2
2
3
3
cos sin
;
sin
cos
x y x x y
Q
x y
x y
+
= +
+


20
( )
( )
2
1 2
cos 3sin
100 cos
;
100
cos 3sin
x
x
e y y
x tgy y
Z
x tgy
e y y
+
+ +
= +
+
+

( ) ( )
2
2 1.3 1/ 3
2
ln cos 2 sin
;
ln 2 sin
x tgy y x y
R sh
x tgy x x y
+ + +
=
+ + +

21
( )
( )
( )
( )
2.2
2
1 1/ 3 4
2
2
5 sin
;
50 sin
x y
x x tgy
R
x x tgy
x y
+
+
= +
+
+

5
2
5
ln
2 sin
;
2 sin ln
x x y
x y
F arctg
x y x y

= +


22
( )
( )
2.1
2
1
2 2
1 2
100 sin
;
100 1 2
x x
x ctgy y
Q
x ctgy x x

+
+ +
= +

+ +


( ) ( )
3
2 2
2 2 2
cos
cos
ln sin ;
cos
cos
x y
x y
A sh y x
x y
x y
+

= + +
+


23
( )( ) ( )
( )
2
1/ 3
2 3
1
2 3
2 1 3 sin ln cos
;
sin ln 1 3
x x x y x y
T
y x x x
+ + + +
= +
+ +

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

+

= +



24
F =
2.3
sin 2 cos sin 2 cos
ln sin
200 200
x x x x
e y y e y y
y
x y x y
+ +
+

+ +


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

29
( ) ( )
( ) ( )
2 3
2 3
5 3
1 1 2
1 1 2
ln
x x x
A x x x
ctgy
+ +
= + + +
25
2
3
2 3
1 sin( )
sin( )
x x x y
Z arctg
x y
x x

=


sin cos
sin cos 1
x x
x y
e y e y
Q e y e y
tgy

+
= + + +
26
4
(sin sin 2 sin3 sin sin 2 sin3
1
sin sin 2 sin3
1
x
x
y y y y y y
T
y y y
e
e
+ + + +
= + +
+ +
+

( ) ( )
cos 2 sin 4
3 sin 4 cos 2 2 2
x x
x x
y y e e
H
e e y y

+ + +
=
+ +

27 1
ln
ln
1
x tgy
y
y
W
x tgy
+
+

= +

+


( )
( )
3
ln
ln ln
ln
x y
R sh ch x y x y
x y
+

= +


28
F =
2.3
sin 2 cos sin 2 cos
ln sin
200 200
x x x x
e y y e y y
y
x y x y
+ +
+

+ +


( )
( )
3
ln
ln ln
ln
x y
R sh ch x y x y
x y
+

= +


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

+ + +
=
+ +

30
sin cos
sin cos 1
x x
x y
e y e y
Q e y e y
tgy

+
= + + +
1
ln
ln
1
x tgy
y
y
W
x tgy
+
+

= +

+



Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

30
III. De calculat valorile funciei pe segmentul dat n punctele N la intervale egale unul de altul.
Optimizati programul folosind variabilele intermediare.

Varianta Funcia Intervalul N
1 ( ) ( )
2 2
ln 1 cos y x x x x = + +
[ ]
,
N=8
2
( )
2
ln
1
x
x
e
y x x x
e
= +
+
[ ]
1, 3
N=6
3 ( ) ( )
3
sin 2
x
y x e x x = + [ ]
, 2
N=9
4 ( ) ( )
2
cos ln 3 y x x x x = +
[ ]
0.5, 2
N=8
5 ( ) ( )
sin ln
x
y x e x x x = + [ ] 0.2, 3
N=7
6 ( ) ( )
2 2
ln 1 sin y x x x x x = + + [ ] ,
N=8
7 ( ) sin cos
x x
y x e x e x

= +
[ ]
,
N=7
8 ( ) ( ) ( )
ln ln y x x x ch x x = + + [ ]
1, 3
N=5
9 ( ) ( ) ( )
2 2
1 ln 1
x
y x e x x = + + + [ ]
0, 3
N=7
10 ( ) ( )
2 2
2sin cos 1 y x x x = + [ ]
0, 2
N=8
11 ( )
( )
3
2
sin ln 2 cos y x x x x x = + +
3
,
2 2




N=6
12 ( ) ( )
2
2 2
sin
x
y x e x x ctgx = + [ ] , 2
N=7
13 ( ) ( )
ln cos ln y x x x x x = + [ ]
0.3, 3
N=6
14 ( ) ( )
2 2
cos 1
x
y x e x x

= + [ ]
1, 3
N=8
15 ( ) ( )
2
ln 1 cos y x x x x x = + +
3
,
2 2




N=7
16 ( ) ( )
2
ln
x x
y x e e x x

= + + [ ] 0.2, 4
N=6
17 ( ) ( )
2
sin ln 4 y x x x x = +
[ ]
1, 3
N=7
18 ( ) ( )
3
cos 3
x
y x e x x = +
[ ]
, 3
N=8
19 ( ) ( )
2 2
cos y x x x thx = +
[ ]
, 2
N=7
20 ( ) ( ) ( )
2
ln 1 1 y x x x ctg x = + + +
[ ]
0.3, 4
N=6
21 ( ) ( )
3 2
sin y x x xtgx x = +
[ ]
, 3
N=8
22 ( ) ( )( )
2
ln 1 sin arcsin y x x x x x = + +
[ ]
1, 3
N=7
23 ( )
( )
3
2
cos ln 2 sin y x x x x x = + + [ ] , 3
N=8
24


N=10
25


N=8
26

N=9
27


N=7
28


N=9
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

31
29


N=11
30


N=7

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

32
Lucrarea 2. Grafica n programul MATLAB

2.1. Grafica i vizualizarea datelor.

Toate graficele se scot n ferestre ale graficelor cu meniurile i panelele de instrumente ale
sale. Forma graficelor poate fi schimbat cu ajutorul instrumentelor ferestrei graficului.
S construim graficul funciei de o variabil

pe segmentul [-2,2]. Primul pas const n determinarea coordonatelor punctelor pe axa
absciselor. Construirea vectorului x cu elemente de pas constant se efectueaz cu ajutorul a dou
puncte : . Mai departe trebuie de calculat valorile f(x) pentru fiecare element al vectorului x i de
scris rezultatul n vectorul f. Pentru construirea graficului funciei trebuie de folosit funcia plot. Se
indic argumentele x i f n paranteze rotunde. Ordinea comenzilor sunt indicate mai jos

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

n urma executrii funciei plot apare fereastra graficului, fig. 2.1.


Fig. 2.1. Fereastra graficului

Fig. 2.2. Graficul funciei dup exportare ca fiier tif
i includere n documentul Word dat.

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

33
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. n argumentul
suplimentar pot fi completate trei poziii care corespund culorii, tipului de marcher i stilului liniei,
nsemnrile acestora sunt prezentate n tabela 2.1.
belul 6.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
^ 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 intrerupt h Stelu cu 6 coluri

2.2. Construirea ntr-o fereastr a graficelor ctorva funcii
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-3
-2
-1
0
1
2
3
4

Fig. 6.2. Graficul funciei dup exportare ca fiier tif

Fie c trebuie de construit graficele funciilor i
pe segmentul [-2,2]. Mai nti trebuie de calculat valorile lui g(x):

>> g=exp(-x.^2).*sin(5*pi*x);

apoi de chemat plot, de separat prin virgul perechile z, f i x, g i la dorin de indicat
proprietile fiecrei linii (vezi figura 6.2):

>> plot(x,f,'rx-', x,g,'b:')

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

34
Fie c trebuie de construit graficul unei funcii determinate n mod parametric, de exemplu
graficul isteroidei , , . 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 :

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

Funcia comet permite de a urmri micarea punctului pe traiectorie la chemarea 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.
n MATLAB exist comenzi i funcii speciale pentru oformarea graficelor. Comanda
grid on, nscrie liniue pe ax, iar comanda grid off le terge. Titlul se aeaz cu ajutorul funciei
title, care are ca argument rndul respectiv n apostrofe

>> title('Rezultatele experienei')

Pentru a descrie cteva grafice se aplic comanda legend. nscrierile legendei, luate n
apostroafe se indic n argumentele funciei legend, numrul lor trebuie s coincid cu numrul
liniilor graficelor. Ultimul argument indic poziia legendei:
-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.
Funciile xlabel i ylabel servesc pentru a face nscrieri la axe, argumentele lor la fel se iau
n apostrofe.

2.3. Construirea funciilor de dou variabile

Fie c terbuie de obinut suprafaa funciei n dreptunghiul
. Primul pas const n a indica scara 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 argumente care sunt matrie

>> [X,Y]=meshgrid(-1:0.1:1,0:0.1:2);

Matricea X const din aceleai rnduri egale cu primul argument vector n funcia meshgrid, iar
matricea Y din coloane egale care coincid cu al doilea argument n meshgrid. Aceste matrice sunt
necesare pentru a face al doilea pas la completarea matricei Z, fiecare element al creia este o
valoare a funciei z (x, y) n punctele scrii. Obinem matricea necesar Z :
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

35

Fig. 7.1

>> Z=exp(-X).*sin(pi*Y);

Pentru a construi graficul z(x, y) a rmas de chemat funcia grafic potrivit, de exemplu :

>> mesh(X,Y,Z)

Pe ecran apare fereastra grafic cu suprafaa funciei cercetate (Fig. 7.1). Tragei atenie, c culoarea
suprafeei corespunde valorii funciei.
Comanda colorbar creeaz o coloni n fereastra graficului, care arat relaia ntre culoare i
valoarea funciei z(x,y). Aspectul color al graficului poate fi schimbat cu ajutorul funciei
colormap,de exemplu, colormap(gray) reprezint graficul nuan de culoare sur.
Unele aspecte de culoare sunt prezentate mai jos:
bone seamn cu aspectul gray, dar cu un ton uor de culoare albastr;
colorcube fiecare culoare se schimb de la nchis pn la deschis;
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;
Exist o serie de funcii grafice pentru a vizualiza funciile de dou variabile:
o surf carcasa suprafeei plin de culoare;
o meshc, surfc suprafa cu liniile de nivel n planul x,y;
o contour grafic plan cu liniile de nivel;
o contourf grafic plan cu liniile de nivel colorat;
o contour3 suprafa compus din linii de nivel;
o surfl suprafa luminat.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

36
Toate aceste funcii apelate ca i mesh, de exemplu,

>> surf(X,Y,Z)
>> contourf(X,Y,Z)

Numrul liniilor de nivel se indic n al patrulea argument, adugtor, de exemplu:

>> contourf(X,Y,Z, 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:

>> contour(X,Y,Z,[-0.51 -0.25 -0.01 0.89])

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
nivel, iar al doilea vectorul cu indicii pe linii. Variabilele obinute trebuie folosite ce argumente
ale funciei clabel:

>> [CMatr, h] = contour(X, Y, Z,[-0.51 -0.25 -0.01 0.89]);
>> clabel(CMatr, h)

2.4. Lucrul cu cteva grafice

Dac se cere de a obine cteva grafice n diferite ferestre, atunci nainte de a chema funcia
grafic trebuie de apelat comanda figure. Ferestrele graficelor vor fi numerotate Figure No1,
Figure No 2, etc.
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 claca pe ele cu butonul din stnga a oricelului nainte de a chema
funcia grafic.
Pentru a adouga grafice le cele existente pe anumite axe, trebuie mai nti de ndeplinit
comanda hold on. Pentru a nchide acest regim se aplic hold off. De exemplu:
>> figure - apare fereastra graficului, din Meniu alegem Insert apoi axes i clacm; cu
oricelul desenm axele n o parte a ferestrei; repetm Insert Axes i desenm axe noi. Activam
axele din shga i vom construi pe ele graficul de mai jos

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

apare graficul pe axele din stnga. Construim un grafic nou pe axele din dreapta, le activm

>> g=exp(-x.^2).*sin(5*pi*x);
>> plot(x,g)

apare graficul pe axele din dreapta. Acum dorim ca pe axele din stnga s construim i graficul din
dreapta. Activm axele din stnga pentru a le face curente. Aplicm

>> hold on;
>> plot(x,g)

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

37

Pe axele din stnga ferestrei va aprea al doilea grafic (vezi graficele din dreapta). ntr-o
fereastr a graficului se poate de plasat se poate de plasat cteva grafice cu axele proprii. Funcia
subplot servete pentru a mpri fereastra n pri i a construi axele n ele.
Fie c trebue de scos 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. Folosii
subplot(2,3,2), , subplot(2,3,6)pentru a crea axele urmtoare. Orice grafic poate fi
trimis la axele respective aplicnd , de exemplu

>> subplot(2,3,3)
>> bar([1.2 0.3 2.8 0.9])
>> subplot(2,3,6)
>> surf(X,Y,Z)

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

38
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 (dup posibilitate) folosind variabilele intermediare. De a
prezenta graficele prin diferite metode:
a) n ferestre diferite;
b) ntr-o fereastr pe aceleai axe;
c) ntr-o fereastr pe axe diferite : 1-orizontal i 2-vertical.
d) ntr-o fereastr : 1-pe axe diferite i 2-pe aceleai axe.


Varianta Funcia 1 Funcia 2 Segmentul

De transformat din imagine
in Equation

1



2


3


4


5


6


7



De transformat din
MathType in Equation

8
( )
2
cos , f x x =
( ) ( )
ln 1 g x x = + [ ] , 4 x
9
( )
2
ln f x x x = ( ) sin g x x x = [ ] 0.2, 8 x
10
( )
2
sin f x x x =
( ) ( )
ln 1 g x x x = + [ ]
, 6 x
11
( ) ( )
3
sin f x x = ( )
3
cos g x x =
[ ]
, 2 x
12
( )
2
cos f x x x = ( )
3
cos g x x x =
[ ]
, 3 x
13
( ) ( )
2
ln 1 f x x x = + ( )
2
2 g x x x = + + [ ] 0.2, 4 x
14
( )
2
sin f x x x = ( )
2
cos g x x x = [ ] , 4 x
15
( ) 2 sin
x
f x e x = ( )
2 3
cos g x x x =
[ ]
1, 3 x
16
( ) 5 cos
x
f x e x

=
( )
sin x
g x
x
=
[ ]
0.1, 4 x
17
( )
2 2
sin f x x x = ( ) cos g x x x =
[ ]
1, 3 x
18
( )
2
sin
x
f x e x = ( )
2
cos g x x x = [ ] 1, 2 x
19
( ) cos f x x x = ( )
2
cos g x x x =
[ ]
2 , 2 x
20
( ) 2arcsin f x x = ( )
2
cos g x x x =
[ ]
1, 2 x
21
( ) 3 sin
x
f x e x

= ( ) cos
x
g x e x = [ ] 0, 3 x
22
( )
2
sin f x x x = ( ) cos g x x x =
[ ]
, x
23
( ) 3arccos f x x = ( ) cos
x
g x e x

=
[ ]
1,1 x
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

39
24
( ) sin f x x x =
( ) ( )
ln 1 g x x x = + [ ]
1, 3 x
25
( ) f x xthx = ( )
2
cos g x x x =
[ ]
1, 2 x
26
( ) ( )
2
1 sin f x x x = + ( ) ( )
2
ln 2 g x x = + [ ]
1, 3 x
27
( )
2
sin
x
f x e x

= ( ) cos g x x x =
[ ]
, 3 x
28
( ) 3 cos f x x x = ( )
2 2
cos g x x x = [ ] , x
29
( )
2
cos f x x x = ( )
2
sin g x x x =
[ ]
1, 3 x
30
( ) ( )
2
ln 2 f x x x = + ( ) sin
x
g x e x =
[ ]
1, 2 x

Exemplu: f(x)=x
2
i g(x) =-x
2


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

40
III. De construit funcia de dou variabile pe un sector dreptunghiular prin diferite metode:
a) ca o suprafa n form de carcas;
b) ca o suprafa n form de carcas colorat;
a) ca o suprafa marcat cu liniile de nivel (singuri alegei valorile funciei redate de liniile de
nivel)
Optimizai programul (dup posibilitate) folosind variabilele intermediare.
Varianta Funcia Segmentul 1 Segmentul 2

De transformat din imagine in
Equation

1


2


3


4


5

6


7



De transformat din MathType in
Equation

8
( ) ( )
2
, cos
x
z x y e x y

= [ ]
1,1 x
[ ]
, y
9
( ) ( )
2
, sin
y
z x y x e xy

= [ ]
2, 2 x
[ ]
1,1 y
10
( ) , 2 cos ln z x y x x y = [ ] , x [ ] 1, 5 y
11
( ) ( ) ( )
2 2
, cos
x
z x y e x y xy

= + [ ]
1, 2 x
[ ]
2, 3 y
12
( ) ( )
2
, sin 3
y
z x y x y e

= [ ]
0, x
[ ]
1,1 y
13
( ) ( ) ( )
2
, cos 2 ln 1 z x y x y xy = + + [ ] 1,1 x [ ] 1, 2 y
14
( ) ( ) ( ) , 2 sin ln 2 z x y x xy y = + [ ] , x [ ] 1,1 y
15
( ) ( ) ( )
2 2
, sin cos z x y x y xy = + [ ]
, 2 x
[ ]
, y
16
( ) ( )( ) , 1 2 sin cos z x y xy x y = + +
[ ]
1,1 x
[ ]
, 2 y
17
( ) ( ) cos
x
z xy e xy xy = +

[ ]
0,1 x
[ ]
2, 2 y
18
( ) ( ) sin ln z xy x x y =
[ ]
0, x
[ ]
1, 5 y
19
( ) ( )( )
2 2
, sin 3 z x y xy x y = [ ] 2, 2 x [ ] 1,1 y
20
( ) ( )
2
, 2 cos
y
z x y x e xy = [ ] 1,1 x [ ] 0.5,1.5 y
21
( ) ( ) ( )
, 2 sin ln 2 z x y x x y y = + + [ ]
, x
[ ]
2, 2 y
22
( ) ( ) ( ) , 1 sin z x y xy xy x = + +

[ ]
1,1 x
[ ]
, y
23
( ) ( )
2
sin 2
x
z xy x y e

= [ ]
1, 2 x
[ ]
0, 2 y
24
( ) ( )( )
2
, cos ln z x y x xy xy x = + [ ]
1,1 x
[ ]
2, 2 y
25
( ) ( ) ( )
2 2
cos sin z xy x y xy = + [ ]
1.5, 2 x
[ ]
1, 3 y
26
( ) ( ) ( ) , 2 sin cos z x y xy xy xy = +

[ ]
1,1 x
[ ]
2, 2 y
27
( ) ( ) ( )
2
, sin
y
z x y x y e xy

= + [ ]
, x
[ ]
0,1 y
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

41
28
( ) ( ) ( )
2
, cos 2 ln 2 z x y x y xy = + + [ ]
0.5, 2 x
[ ]
1, 3 y
29
( ) ( ) ( ) , 2sin 2 cos 3 z x y x xy xy = + 3
,
2 2
x





[ ]
, y
30
( ) ( ) ( ) 2 cos ln z xy yu xy xy =
[ ]
1, 3 x
[ ]
0.5, 2 y

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

42
Lucrarea 3. Calculul traiectoriei punctului material.

3.1. 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 este un file de text cu extensia
.m, de exemplu myprog.m, n care sunt nscrii operatorii MATLAB. S construim un file-
program.
n MATLAB exist redactorul incorporat a M-fiierelor, pentru pornirea cruia trebuie de
apsat tasta New M-file pe panelul de instrumente a mediului de lucru, sau de ales n meniul File n
punctul New sub punctul M-file. Pe ecran apare fereastra redactorului. Culegei n ea careva
comenzi, de exemplu, pentru a construi un grafic:

Exemplu 3.1. Cea mai simpl file-program

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

Pentru a porni programul sau a unei pri a ei exist cteva metode. Prima cea mai simpl de
a evidenia operatorul cu ajutorul oricelului apsnd tasta din stnga, sau cu ajutorul tastei <Shift>
cu sgeile, <Page-Up>, <Page-Down> de ales n meniul Text (n versiunea 6.x) punctul Evaluate
Selection (sau de apsat <F9>). Operatorii evideniai se ndeplinesc consecutiv, ca i cum ei ar fi
culei n rndul de comand. 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.
Dup ce programa e pstrat n M-file, de exemplu n myprog.m, pentru a o porni se poate de
folosit punctul Run n meniul Debug (n versiunea 6.x), sau de cules n rndul de comand numele a
M-fiierului (fr extensie) i de apsat Enter, adic de ndeplinit ca o comand MATLAB. n
aceste cazuri trebuie de indicat catalogul cu M-fiierul. Indicarea (setarea) catalogului se poate de
efectuat prin dou metode:
1) n MATLAB 6.x 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. Dac aceast fereastr lipsete trebuie de ales punctul Current Directory n
meniul View a mediului de lucru.
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, pot fi pornite din
rndul de comand, sau din redactorul M-fiierelor.

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 intrare, numele file-funciei i
lista argumentelor de ieire. Argumentele n liste se separ prin virgule.

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

43
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 mysam 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 pe segmentul [0,1]. Programai file-funcia myfun
pentru calculul funciei . Folosii operaiile consecutive din exemplul 3.3 pentru ca s putei
chema myfun n dependen de valorile vectorului x ca argument i s obinei vectorul valorilor
respective ale funciei.

Exemplu 3.3. Fail-funcia myfun

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

Graficul funciei poate fi obinut prin dou metode. Prima metod const n a crea vectorul
valorilor argumentului, fie cu pasul 0.01, a crea vectorul valorilor funciei i a chema plot:
>> x=[0:0.01:1];
>> y=myfun(x);
>> plot(x,y)

n rezultat obinem graficul, prezentat n Fig. 9.1 a, care nu este corect.

Fig. 9.1 a. Fig. 9.1 b.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

44
ntr-adevr la calculul valorilor funciei pe segmentul [0,1] cu pasul 0.01 termenul
tot timpul era 0 i plot a construit nu graficul funciei , 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 de la construirea
graficului. 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 cu ajutorul fplot:

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

S-a primit graficul care red exact comportarea funciei (Fig. 9.1, b).
Nu este greu de construit graficul unei funcii parametrice. Fie c trebuie de construit graficul
asteroidei , , . 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 punctele [X(i),Y(i),Z(i)]. Aceast funcie are urmtoarea sintax
comet3 (X, Y, Z)

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

45
Sarcina Lucrrii Nr. 3
I. De scris file-funcia i de construit graficele pe segmentul dat cu ajutorul plot (cu pasul 0.05) i
fplot pentru funcia:

Varianta Funcia Segmentul

De transformat din imagine in Equation
1


2


3


4


5


6


7


De transformat din MathType in Equation
8
( )
1
3sin , f x
x
=
[ ] 0.05,1 x

9
( ) 2 sin 20 f x x =
[ ]
0,1 x
10
( )
( ) ( )
2 2
2
sin cos
x x x x
f x
e e e e

=
+

[ ]
1,1 x
11
( )
1
2sin
2
f x
x
=
[ ]
0.05,1 x

12
( )
2 cos6
2 sin 6
x x
f x x x e

= + [ ] 0,1 x
13
( )
12
14 12sin 21
f x
x
=


[ ]
0.05,1 x

14
( )
3
sin 23
3 sin 21
x
f x
x

=
+

[ ]
0,1 x
15
( )
2
1
sin
2
11
x
f x
arctgx



[ ]
0,1 x
16
( )
1
1
1.2 sin 7
f x
arcctg
x
=
+

[ ] 0,1 x
17
( )
2
1
2sin 7
3
f x x x

=



[ ] 0,1 x
18
( )
2
3 sin30 f x x x = +
[ ]
0,1 x
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

46
19
( )
5
5
cos
3
11
f x
arctgx



[ ]
0,1 x
20
( )
cos7 cos7
3 3
x x x x
f x e e

= +
[ ]
0,1 x
21
( )
2 5
1
3cos 7
3
f x x x

=



[ ] 0,1 x
22
( ) ( )
2
5sin 10 2cos f x x x = + [ ]
0,1 x
23
( ) ( )
2
3sin 100 f x x x = + [ ]
0,1 x
24
( )
5
sin 25
2 cos 23
x
f x
x

=
+

[ ]
0,1 x
25
( )
13
15 11sin50
f x
x
=


[ ]
0,1 x
26
( )
sin7 cos7
2 3
x x x x
f x e e

= +
[ ]
0,1 x
27
( )
1/ 3
5 cos30 f x x x = + [ ] 0,1 x
28
( ) ( )
1/ 3
1/ 2
sin50 f x x x = + [ ]
0,1 x
29
( )
5
sin30
2 sin 25
x
f x
x

=
+

[ ]
0,1 x
30
( )
3
3
sin 4
x
f x x arctge =
[ ]
0,1 x

II. De construit graficul traiectoriei plane a punctului material cu ajutorul lui plot i comet. De ales
diferite valori ale pasului:
Varianta Funcia x(t) Funcia y(t)
De transformat din imagine in Equation
1

2

3

4

5


6


7


De transformat din MathType in
Equation

8
( )
2
2cos x t t t = ( ) 1 sin y t t =
[ ]
0, 5
9
( )
3
2cos cos 2
2
x t t t = + ( )
3
2sin sin 2
2
y t t t = +
[ ] 0, 4
10
( ) 2 sin
t
x t e t

= ( ) 3 cos
t
y t e t

=
[ ] 0, 4
11
( ) 3sin x t t = ( ) ( ) 2cos sin y t t =
[ ]
0, 4
12
( ) cos
t
x t e t = ( ) ( ) 3sin cos y t t =
[ ]
0, 3
13
( ) ( ) 1 sin x t t t = ( ) 2 cos y t t =
[ ] 0, 4
14
( ) sin
t
x t te t

= ( ) 1 cos y t t =
[ ]
0, 4
15
( ) ( ) 2 cos x t t arctgt = ( )
2
3sin y t t =
[ ]
0, 4
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

47
16
( ) sin 2 x t t t = + ( ) 2 cos
t
y t e t

=
[ ]
0, 2
17
( ) ( ) 2cos 1 x t t = + ( ) 3sin 2 y t t t = +
[ ]
0, 2
18
( ) ( ) 3 cos 2
t
x t e t

= ( )
2
2sin y t t = [ ] 0, 2
19
( ) ( ) 2ln 1 sin x t t t = + ( ) 3cos y t t =
[ ]
0, 3
20
( ) ( ) 1 cos x t t t = + ( ) ( ) 2 1 sin y t t t = +
[ ]
0, 2
21
( ) sin 2
t
x t e t = ( ) ( ) 1 cos y t t t = + [ ] 0,
22
( ) ( ) 2sin cos x t t = ( )
2
cos y t t t =
[ ]
0,
23
( )
2
cos 2
0.1
x t t
t
=
+

( ) ( )
1/ 2
1 sin y t t t = +
[ ]
0,
24
( ) ( )
2
1 sin 2 x t t t = + ( ) cos y t t t =
[ ]
0, 2
25
( ) sin cos x t t t t = + ( ) cos 2 y t t =
[ ]
0, 2
26
( ) ( ) 2cos sin x t t = ( ) ( ) 3sin 1 y t t = [ ] 0, 2
27
( ) ( ) 1 cos 2 x t t t = ( ) sin 2 y t t t =
[ ]
0, 3
28
( ) 2sin 1.3sin 2 x t t t = + ( ) cos 2 y t t t =
[ ]
0, 3
29
( ) ( ) 3sin arccos x t t = ( ) 2sin y t t = [ ] 0, 4
30
( ) cos 2 x t t t = ( ) ( ) sin ln 1 y t t t = + +
[ ]
0, 2

III. De construit graficul traiectoriei spaiale a punctului material cu ajutorul lui plot3 i comet3. De
ales diferite valori ale pasului:
Varianta Funcia x(t) Funcia y(t) Funcia y(t)
De transformat din
imagine in Equation


1

( ) 2 z t t =
[ ]
0, 4
2


( ) 1.5 z t t =
[ ] 0, 2
3


1.3
( ) 1.2 z t t = [ ]
0, 4
4
1.2
( ) 1.5 z t t = [ ] 0, 3
5


1/ 2
( ) 2 z t t = [ ]
0, 2
6

1/ 3
( ) 2 z t t = [ ]
0, 4
7

1.5
( ) 1.2 z t t = [ ]
0, 3
De transformat din
MathType in Equation


8
( ) cos 2 x t t t = ( ) ( ) sin ln 1 y t t t = + + ( ) 2 z t t =
[ ]
0, 2
9
( ) ( ) 3sin arccos x t t = ( ) 2sin y t t = ( )
1/ 3
1.4 z t t =
[ ] 0, 4
10
( ) 2sin 1.3sin 2 x t t t = + ( ) cos 2 y t t t = ( )
2
1.2 z t t =
[ ]
0, 3
11
( ) ( ) 1 cos 2 x t t t = ( ) sin 2 y t t t = ( ) 1.3 z t t =
[ ]
0, 3
12
( ) ( ) 2cos sin x t t = ( ) ( ) 3sin 1 y t t = ( )
1/ 2
z t t =
[ ] 0, 2
13
( ) sin cos x t t t t = + ( ) cos 2 y t t = ( )
1/ 3
2 z t t =
[ ]
0, 2
14
( ) ( )
2
1 sin 2 x t t t = + ( ) cos y t t t = ( ) 1, 5 z t t =
[ ]
0, 2
15
( )
2
cos 2
0.1
x t t
t
=
+

( ) ( )
1/ 2
1 sin y t t t = + ( ) 2 z t t = [ ]
0,
16
( ) ( ) 2sin cos x t t = ( )
2
cos y t t t = ( ) 3 z t t =
[ ]
0,
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

48
17
( ) sin 2
t
x t e t = ( ) ( ) 1 cos y t t t = + ( )
1/ 2
1.3 z t t =
[ ]
0,
18
( ) ( ) 1 cos x t t t = + ( ) ( ) 2 1 sin y t t t = + ( )
1.3
2 z t t =
[ ]
0, 2
19
( )
2
2cos x t t t = ( ) 1 sin y t t = ( ) 1.5 z t t = [ ] 0, 5
20
( )
3
2cos cos 2
2
x t t t = + ( )
3
2sin sin 2
2
y t t t = +
( )
2/ 3
1.4 z t t =
[ ]
0, 4
21
( ) 2 sin
t
x t e t

= ( ) 3 cos
t
y t e t

= ( )
1/ 3
3 z t t =
[ ]
0, 4
22
( ) 3sin x t t = ( ) ( ) 2cos sin y t t = ( )
3/ 2
1.7 z t t =
[ ]
0, 4
23
( ) cos
t
x t e t = ( ) ( ) 3sin cos y t t = ( )
3/ 4
z t t = [ ] 0, 3
24
( ) ( ) 1 sin x t t t = ( ) 2 cos y t t = ( )
2/ 5
1.6 z t t =
[ ]
0, 4
25
( ) sin
t
x t te t

= ( ) 1 cos y t t = ( )
2
1.3 z t t =
[ ]
0, 4
26
( ) ( ) 2 cos x t t arctgt = ( )
2
3sin y t t = ( )
3/ 5
1.5 z t t = [ ] 0, 4
27
( ) sin 2 x t t t = + ( ) 2 cos
t
y t e t

= ( )
5/ 3
2 z t t =
[ ]
0, 2
28
( ) ( ) 2cos 1 x t t = + ( ) 3sin 2 y t t t = + ( )
1.7
3 z t t =
[ ]
0, 2
29
( ) ( ) 3 cos 2
t
x t e t

= ( )
2
2sin y t t = ( )
4/ 3
2.1 z t t = [ ] 0, 2
30
( ) ( ) 2ln 1 sin x t t t = + ( ) 3cos y t t = ( )
3/ 2
1.7 z t t =
[ ]
0, 3

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

49
Lucrarea 4. Integrarea ecuaiilor difereniale ale micrii
punctului material.

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
a
dx x y ) (

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, care se cere a calcului 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
discriptor, deaceia 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.
Sub tcere 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.

Exemplu 4.1.
De calculat


1
0
) 1 ( dx e
x
cu precizia 10
-5
. Culegem n rndul de comand:
>> quad((exp(x)-1),0,1,1.e-5)
ans=
0.7183
De calculat

2
0
dx e
x
cu precizia 10
-4
. exp(x) este funcie dicriptor, 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 de
mai jos).

4.1.2. Integrale definite duble.

Fie c trebuie de calculat integrala definit dubl
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

50
dxdy
y
x
x y

+

2
0
2
]
) cos( 2
) sin( 2 [

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.

Exemplu 4.1.

S alctuim mai nti file-funcia integ1.m care descrie funcia 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 numirea failului 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 greala relativ i
absolut;
o T, Y matricia 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 numirea rezolvatorului concret,
integreaz sistemul de ecuaii difereniale de tipul y = F(t,y) pe intervalul tspan cu condiiile
iniiale y0. @F este discriptorul failului EDO. Se poate de scris F rndul care conine
numirea failului 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. La tcere
componentele sunt 1e-6.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

51
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 unfel de parametri nu sa dau.

Exemplu. Trebuie de rezolvat ecuaia lui Van-der-Pol:
y = 1000(1- y
2
)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 = y
1
:
y
1
= y
2
;
y
2
= 1000*(1-y
1
2
)*y
2
-y
1.
nainte de rezolvare trebuie de scris sistemul de ecuaii difereniale n form de fail-funcie
EDO. Pentru aceasta n meniul principal alegem File NewM-File i introducem

Exemplu 3.3. Fail-funcia vdp1000

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);

Pstrm file-funcia. Atunci 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');


Obinem Fig. 11.1

Sau pentru a construi y1 i y2 putem aplica comenzile (pentru alt coeficient mu=1):

>>[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');



Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

52

Obinem Fig. 11.2.

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

solverDE.m
function dydt = solverDE (t,y)
dydt = zeros(2,1); %a column vector
dydt(1) = y(2);
dydt(2) = 1000*(1-y(1)^2)*y(2)-y(1);


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

2). Obinerea soluiei i a graficului nsoitor:


Vor fi construite graficele y1, y2, .....,yn ca funcii de t. n acest caz graficele pot fi nsemnate
cu denumiri y1, y2, .....,yn cu ajutorul oricelului, aplicnd comanda de mai jos, dup ce n locul
potrivit al graficului se apas cu tasta den stnga a oricelului:

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

Vezi graficul Fig. 11.3.


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

53
4.3. Studiul oscilaiilor libere
(Problema 32.1 din []):

Arcul AB este suspendat de un capt al lui n punctul
A (Fig. 18.1). Pentru alungirea lui cu
1 l m =
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.


Fig. 18.1




Rezolvare.
Fie
0
l
- 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 i ndreptm axa vertical n jos. Alegerea originii axei x n
punctul O este comod fiindc fa de acest punct oscilaiile (deplasrile) corpului 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 echilibru. n
aceast poziie asupra corpului acioneaz dou fore: fora de greutate G fora elastic F. Scriem
ecuaia diferenial a micrii de translaie a corpului n proiecie pe axa x:
x x
Mx G F = + && , (1)
unde
x
G Mg = , i ( )
x st
F c x = + . (2)
Aici g este acceleraia cderii libere, c este coeficientul de elasticitate a arcului, ( )
st
x + este
deformaia total a arcului. ntroducem (2) n (1) i obinem:
( )
st
mx mg c x = + && (3)
Pentru a determina coeficientul c egalm fora elastic dup mrime cu fora static P:
/ 20 /1 20 / P l c P l c N m N m = = = = . (4)
Pentru a determina
st
scriem ecuaia (3) pentru poziia de echilibru a corpului, cnd 0 x = && , 0 x = & ,
0 x = :
0 /
st st
Mg c Mg c = = . (5)
Ultima relaie ne permite s reducem n ecuaia (3) Mg cu
st
c , dup ce obinem
0 Mx cx + = && (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
1
O ,
atunci ecuaia diferenial (6) ar deveni mai complicat.
Urmeaz etapa matematic de rezolvare a acestei ecuaii difereniale. mprim (6) la M i notm
( )
2
/ c M k = . Obinem
2
0 x k x + = && (7)
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

54
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 aspect
st
x e = . ntroducem aceast expresie n (7),
simplificm la
st
e i obinem ecuaia caracteristic pentru ecuaia diferenial (7)
2 2
0 s k + = (8)
rdcinile creia sunt imaginare
1
s ik = i
2
s ik = . Soluia general a ecuaiei (7) va fi
1 2
ikt ikt
x c e c e

= + (9)
unde
1
c i
2
c 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
cos sin
ikt
e kt i kt

=
(10)
i ntroducem constante noi de integrare
( )
1 2 1
c c c + = ; ( )
1 2 2
i c c c =
(11)
Obinem soluia n forma
1 2
cos sin x c kt c kt = + (12)
Constantele noi
1
c i
2
c se determin la fel din condiiile iniiale, dar toate mrimile n (12) sunt
reale.
III. Forma comod n aplicrile tehnice. n loc de
1
c i
2
c ntroducem alte constante de integrare a
i :
1
sin c a = ,
2
cos c a = (13)
obinem
( ) sin x a 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. Noi vedem, c corpul se mic
dup legea sinusoidal. Astfel de oscilaii 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, 2 / k T = , unde T este perioada oscilaiilor, 2 / T M c = i nu depinde de condiiile
iniiale. n cazul nostru
1
14 k s

= .
Deplasarea x a corpului desfurat n timp (graficul oscilaiilor)
reprezint n cazul general o sinusoid (Fig. 18.2).
Fig. 18.2
Din condiiile:
cnd 0 t = ,
0
5
st
x cm = = ,
0
0 x = & obinem
sin
st
a = , 0 cos ak = , (15)
de unde rezult: 0, 05
st
a m = = ,
3
2

= i
0, 05cos14 x t = m. (16)

Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

55
4.4. Influena rezistenei asupra oscilaiilor libere. Oscilaii
amortizate.
Problema 32.53 din [].

Fig. 19.1.
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
2
kv
N, unde
0, 001 k =
,
v
- viteza n m/s,

-
flucsul magnetic dintre polii N i S. n momentul iniial viteza plcii 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 5Vb =
(Veber este unitate de
msur a fluxului magnetic n SI).
Rezolvare.
Placa efectueaz micare de translaie, toate punctele ei se mic la fel. Considerm punctul B
punctul plcii conectat de arc. Asupra lui acum acioneaz trei fore: fora de greutate G = Mg, fora
elastic F i fora de rezisten R. Fora R este orientat opus vitezei.
2
R v bv = =
r
r r
,
2
b =
am notat coeficientul de proporionalitate. n cazul nostru 0.5 / b Ns m = . Ca i n problema
precedent alegem originea axei x n punctul O punctul B n poziia de echilibru a corpului
(plcii) i ndreptm axa vertical n jos. Ecuaia diferenial a micrii centrului maselor a plcii se
va scrie sub forma:
x x x
Mx G F R = + + && , (1)
unde
x
G Mg = , ( )
x st
F c x = + ,
x x
R bv bx = = & , i deci
( )
st
Mx Mg c x bx = + && & (2)
Pentru poziia de echilibru a plcii, cnd 0 x = && , 0 x = & , 0 x = , avem 0
st
Mg c = i ecuaia (2)
devine
0 Mx bx cx + + = && & (3)
ntroducem notrile c/M = k
2
, b/M = 2h i obinem forma matematic a ecuaiei (3)
2
2 0 x hx k x + + = && & (4)
Repetm procedura de rezolvare din paragraful precedent. Deoarece
1
2, 5 h s

= iar
1
k s

= i deci
h<k, rdcinile ecuaiei caracteristice
2 2
2 s hs k + + sunt complexe
1
s h ik

= + ,
2
s h ik

= (5)
unde
2 2
k k h

= , noi obinem
( )
sin
ht
x ae k t

= + (6)
Amplitudinile oscilaiilor, care ating nfurtoarele
ht
ae

se micoreaz cu timpul i oscilaiile se


numesc amortizate. (Fig. 19.2.)
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

56

Fig. 19.2. Oscilaiile amortizate.

Condiiile iniiale: cnd t = 0,
0
0, 05
st
x m = = ,
0
0 x = & . nlocuim n (6) i obinem
0
0, 05 sin x a = = , 0 sin cos x ah ak

= = + & , (7)
( )
0
2 2
1
1 0, 0516
/ 1
a x m
k h
= + =

,
2
2
1 5, 51
k
tg
h
= = ,
1
13, 77 k s

=
( )
2,5
0, 016 sin 13, 77 5, 51
t
x e t arctg m

= +

20. Oscilaii forate n prezena forei de rezisten.
(Problema 32.94 din [])
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. Prin solenoid circul curentul
20sin8 i t = A, care creeaz o for de interaciune dintre
magnet i bar de 0.016 i N. Fora de frnare a plcii de cupru
cauzat de cureni turbionari este egal
2
kv , unde k = 0,001,
10 5Vb = 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
punctului B acioneaz nc o for, fora perturbtoare Q
r
:
0.016 0.32 sin8
x
Q i t = = (1)
n acest caz ecuaia diferenial a micrii centrului
maselor va avea aspectul
0
sin Mx bx cx Q Pt + + = && & , (2)
unde
0
0.32 Q = N,
1 1
8 25 P s s

= =
mprim (2) la M i ntroducem notrile
2
/ c M k = , / 2 b M h = ,
0 0
/ Q M H =
Atunci (2) devine
2
0
2 sin x hx k x H pt + + = && & (3) Fig. 20.1.
Ecuaia (3) a devenit neomogen, fiindc partea din dreapta este diferit de zero. Soluia ecuaiei
difereniale (3) este suma soluiei generale
1
x a ecuaiei omogene respective i a soluiei particulare
2
x a ecuaiei neomogene (3). n problema precedent am determinat
1
14 k s

= ,
1
2.5 h s

= i pentru
h < k am obinut soluia ecuaiei omogene
( )
1 1 1
sin
ht
x a e k t

= + , (4)
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

57
unde
1
a i
1
sunt constantele de integrare, iar
2 2
k k h

= . Soluia (4) descrie oscilaii


amortizate. Soluia particular a ecuaiei (3) se caut sub forma prii din dreapta
( )
2
sin x A pt = (5)
unde constantele A i trebuie determinate astfel ca (5) s satisfac ecuaia (4). Soluia (5) descrie
oscilaiile forate. Constanta A are sensul amplitudinii oscilaiilor forate, ( ) pt este fora
oscilaiilor, iar este decalajul de faz a oscilaiilor forate n raport cu faza forei pertubatoare.
Semnul minus n faa lui n (5) nseamn c conform principiului de cauzalitate deplasare
2
x
trebuie s urmeze dup aplicarea forei
x
Q i deci trebuie s ntrzie n faz n raport cu faza forei
x
Q . Calculm
2 2
, x x & && i le ntroducem n (3). De unde obinem (vezi []):
( )
0
2
2 2 2 2
4
H
A
k p h p
=
+
,
2 2
2hp
tg
k p
=

,
2
0
10 / H m s = (6)
n rezultat avem
( ) ( )
1 1
sin sin
ht
x a e k t A pt

= + + (7)
Constantele
1
a 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
tr
t , ele dispar. Rmn numai oscilaiile forate,
care ne intereseaz. Constantele A i nu depind de condiiile iniiale i obinem
( )
2
0, 022sin 8 0, 91 x t m = (8)
S integrm ecuaia (3) n Matlab. ntroducem valorile coeficienilor i adugm condiiile iniiale.
Vom avea
( ) 5 196 1000sin 25 x x x t + + = && & , ( ) 0 5 x cm = , ( ) 0 0 / x cm s = &
Singuri alegei intervalul de tip t pentru ca pe ecran s se vad timpul de tranziie
tr
t , 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 m-fail-funciei i o memorizm:

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);

Pstrm m-fail-funcia.

2). Obinerea soluiei i a graficului nsoitor:

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

Pe ecran apare graficul micrii (Fig. 20.2). Observm, c timpul de tranziie, dup care rmn
numai oscilaiile forate este aproximativ de 1,5 sec.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

58

Fig.20.2.
Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

59
Sarcina lucrrii Nr. 4.
Varianta Nr. 1.
I. De calculat numeric integralele definite ordinare:

Varianta A B
1
dy y y

+
1
2 / 1
4 3
) 2 1 ( 1 ) 2 1 (

+
2
1
3 2
) 1 (x
xdx

2
dy y
2 / 1 2 / 3
1
0
2 / 1
) 1 ( +


1
0
3 3
2
) 2 ( u
du u

3
dx x x

+
8
1
4 3
1 dz
z
z

+
1
0
4 2
) 1 (

4
dy x


+
1
0
3 / 1
) 5 1 (

+
1
0
3
5 1 x
dx

5 dz z z

+
5
0
2
4

+
+
2
1
3 2
3
) 2 (
6
x
x x

6
dy y

+
9
0
1 dz
z z
z

+ +
+
3 / 2 2
) 3 2 (
1

7
dx x x

2
1
3 / 1 3 / 2 3 / 1
) 1 (

+
9 / 5
0
2
) 1 1 ( 1 y y
dy


II. De calculat numeric integrala definit dubl:

Varianta Integrala
1

+
+
5
4
11
10
)] ln( [ dxdy xy e
y x

2

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


+
2
1
1
2
3 2
] cos 4 [ dxdy y x y
4

+
3
2
1
0
3
) cos ( dxdy y e
x

5
dxdy e y x
y x+

+
3
2
2
1
3
) (
6
dxdy y x xy y x

+
4
3
2
1
3 3 3 2
) 8 6 (
7

+
2 . 0
1 . 0
0
1
3 2
] sin [ dxdy e x y x
x


Lucrri de laborator la Mecanic realizate n MATLAB. Ion Balmu, Anatolie Casian, Valeriu Mihailov

60
III. De rezolvat numeric ecuaia diferenial a micrii punctului material i de construit graficul
respectiv pentru intervalul de timp (n secunde) [0 30]:

Varianta
Ecuaia
) 0 ( y ) 0 ( y&
1
) 10 cos( 5 4 2 t y y y = + + & & & cm y 10 ) 0 ( = s cm y / 2 ) 0 ( = &
2
) 15 cos( 7 3 2 . 3 t y y y = + + & & & cm y 12 ) 0 ( = s cm y / 3 ) 0 ( = &
3
) 20 cos( 8 5 . 1 5 . 2 t y y y = + + & & & cm y 16 ) 0 ( = s cm y / 2 ) 0 ( = &
4
) 12 cos( 5 . 4 4 . 2 6 t y y y = + + & & & cm y 13 ) 0 ( = s cm y / 2 . 3 ) 0 ( = &
5
) 10 cos( 8 . 5 7 . 4 2 . 5 t y y y = + + & & & cm y 10 ) 0 ( = s cm y / 2 . 3 ) 0 ( = &
6
) 14 cos( 5 . 6 3 . 4 2 . 6 t y y y = + + & & & cm y 14 ) 0 ( = s cm y / 2 . 4 ) 0 ( = &
7
) 18 cos( 5 . 6 4 . 1 2 . 2 t y y y = + + & & & cm y 12 ) 0 ( = s cm y / 2 . 3 ) 0 ( = &

Lucrri de laborator la Mecanic realizate n MATLAB. Traduse de A. Casian, adaptate de V. Mihailov

61
ANEXA 1. EXEMPLU - Foae de titlu.


Ministerul nvmntului, Tineretului i Sportului al Republicii Moldova

Universitatea Tehnic a Moldovei

Catedra Mecanica Teoretic







Lucrare de laborator Nr. 1



la Mecanic realizate n MATLAB
Tema: Elemente ale programului MATLAB

Varianta 5






Elaborat: Sergiu Olaru


Verificat Valeriu Mihailov













Chiinu 2006
Lucrri de laborator la Mecanic realizate n MATLAB. Traduse de A. Casian, adaptate de V. Mihailov

62
ANEXA 2. EXEMPLE la lucrarea Nr. 1

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