Sunteți pe pagina 1din 6

Universitatea « Politehnica » din Bucureşti

Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini


şi Structuri Mecanice

Medii de programare pentru prelucrări de date necesare în proiectarea


asistată de calculator

Lucrarea de laborator nr.1

Aplicaţii privind mediul MATLAB


Elemente de bază. Tipuri de date.

Scopul lucrării: Familiarizarea cu comenzile de bază ale sistemului MATLAB, introducerea


datelor, operaţii elementare cu acestea. Cunoaşterea principalelor funcţii cu care se poate lucra în
acest sistem şi felul în care se pot utiliza.

Noţiuni teoretice de bază:


Se lucrează în fereastra de comenzi.
Descrierea comenzilor de bază în regimul de comandă a Programului MATLAB.
a) Comenzile de redactare a rândului (redactorul rândului).
Cînd se lucrează cu MATLAB în regim de comandă, se aplică comenzile de redactare a rândului
indicate în (Tab. 2.1)
Combinaţia de taste Destinare
Ctrl+b Deplasarea cursorului în dreapta la un simbol
Ctrl+f Deplasarea cursorului în stânga la un simbol
Ctrl+r Deplasarea cursorului în dreapta la un cuvînt
Ctrl+l Deplasarea cursorului în stânga la un cuvînt
Home sau Ctrl+a Deplasarea cursorului la începutul rândului
End sau Ctrl+e Deplasarea cursorului la sfîrşitul rândului
Ctrl+p şi Ctrl+n Răsfoirea comenzilor precedente în sus şi în jos şi includerea în rândul de introducere
Del sau Ctrl+d Ştergerea simbolului la dreapta de cursor
Ctrl+n Ştergerea simbolului la stânga de cursor
Ctrl+k Ştergerea pînă la sfîrşitul rândului
Esc Curăţirea rândului de introducere
Ins Deschiderea-închiderea regimului de includere
PgUp Răsfoirea foilor sesiunii în sus
PgDn Răsfoirea foilor sesiunii în jos
Tabela 2.1 - Comenzile de redactare a rândului în MATLAB
b) Comenzile de dirijare a ferestrei în regimul de comandă.
clc- curăţă ecranul şi pune cursorul în colţul de sus din stânga a ecranului gol
home- întoarce cursorul în colţul de sus din stânga a ferestrei
echo <file_name> on – deschide regimul de scoatere pe ecran a textului Script-file
echo <file_name> off – închide regimul de scoatere pe ecran a textului Script-file
echo <file_name> - schimbă regimul de scoatere pe ecran la opus
1
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice

echo on all – deschide regimul de scoatere pe ecran a textului tuturor m-file-or


echo off all – închide regimul de scoatere pe ecran a textului tuturor m-file-or
more on - deschide regimul de scoatere pe ecran pe pagini (de folos la vizionarea m-file-urilor
mari)
more off - închide regimul de scoatere pe ecran pe pagini

Expresii fundamentale
MATLAB-ul lucrează cu expresii matematice ca şi celelalte limbaje de programare, dar spre
deosebire de majoritatea acestor limbaje, aceste expresii implică la scară largă lucrul cu matrici.
Expresiile sunt alcătuite cu ajutorul următoarelor tipuri:
 Variabile
 Numere
 Operatori
 Funcţii
Variabile
-MATLAB-ul nu necesită declararea dimensiunii variabilelor, deoarece la întâlnirea unui nou
nume de variabilă generează automat variabila respectivă şi alocă spaţiul necesar de memorie.
-Numele unei variabile este o literă, urmată de un număr oricât de mare de litere, cifre sau
simboluri. Din acest număr “oricât de mare” sunt oprite primele 31 de caractere. MATLAB-ul
este case sensitive - face distincţie între literele mici şi cele mari.
Exemplu:
» a = 30;
creează o matrice 1 x 1 cu numele a şi stochează valoarea numerică a acesteia -30-, într-o singură
locaţie corespunzătoare singurului element al matricei.
Numere
-MATLAB-ul utilizează notaţia zecimală, cu punct zecimal opţional şi cu semn + sau -. Se
utilizează şi notaţia ştiinţifică cu litera e pentru a specifica o putere a lui 10. Reprezentarea
numerelor imaginare este realizată cu litera i sau j ca sufix.
Exemple:
3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5+7i

Operatori
Expresiile utilizează operatori aritmetici uzuali:
Adunare \ Împărţire la stânga
+
- Scădere ^ Ridicarea la o putere
* Multiplicare ' Transpusa complex conjugată
/ Împărţire ( ) Operatorul de specificare a ordinii de evaluare
Funcţii
MATLAB-ul furnizează un mare număr de funcţii matematice elementare standard ( abs, sqrt,
exp, sin …).
Există şi funcţii matematice avansate (funcţii Bessel, gama etc.), multe dintre acestea acceptând
argumente complexe.
Pentru vizualizarea funcţiilor elementare se poate tasta:
2
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice

» help elfun
Pentru a vedea lista funcţiilor avansate se poate tasta:
» help specfun
» help elmat
-O parte din funcţii (cum ar fi sqrt, sin) sunt de tip built-in, adică sunt o parte a nucleului
MATLAB, au o mare eficienţă, dar detaliile constructive nu sunt accesibile utilizatorului.
-Alte funcţii sunt implementate ca fişiere MATLAB (M-files) şi pot fi chiar modificate.
-Câteva funcţii furnizează valorile unor constante universale:

pi 3.14159265

i,j Numărul imaginar, 1


Eps
Precizia relativă, 2-52

Realmin Cel mai mic număr cu care lucrează, 2-1022

Realmax Cel mai mare număr cu care lucrează, 21023

Inf Infinit
NaN Not-a-number (nu este un număr)

-Câteva funcţii matematice elementare

Funcţiile trigonometrice (argumentul „x” se dă în radiani)


sin(x), cos(x), Sinus, cosinus, tangenta, şi cotangenta
tan(x), cot(x)
sec(x), csc(x) Secanta, cosecanta

Funcţiile trigonometrice inverse (rezultatul se calculează în radiani)

asin(x), acos(x), Arcsinus, arccosinus, arctangenta şi arccotangentă


atan(x), cot(x)
asec(x), acsc(x) Arcsecanta, arccosecanta

Funcţiile hiperbolice

sinh(x), cosh(x), Sinus, cosinus, tangenta şi cotangenta hiperbolice


tanh(x), coth(x)
sech(x), csch(x) Secantă şi cosecantă hiperbolice

asinh(x), acosh(x), Arcsinus, arccosinus, arctangentă şi arccotangentă;


atanh(x), acoth(x)
Funcţia exponenţială, logaritmii, funcţiile de putere

3
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice

Exp(x) Funcţia exponenţială a lui e (ex)

log(x), log2(x), log10(x) Logaritm natural, logaritmii în baza 2 şi 10

pow2(x) Ridicarea la putere a lui 2 (2x)

sqrt(x) Rădăcină pătrată

Modul, semnul şi funcţiile pentru lucrul cu numere complexe


abs(x), sign(x) Modulul şi semnul numărului

conj(x), imag(x), real(x) Complex-conjugată, partea imaginară şi reală

* Limbajul MATLAB este mult mai simplu de învăţat dacă se renunţă la inspectarea aridă a
listelor cu variabile, funcţii şi operatori şi se utilizează în schimb comenzile help, helpdesk,
demo tastate direct de la prompterul MATLAB.
* Pentru aflarea tuturor informaţiilor utile despre o comandă sau o funcţie se tastează help
urmat de numele comenzii sau funcţiei respective.
* Alte comenzi utile pentru aflarea de informaţii sunt: helpwin, lookfor, help help.
Exemple sugestive de utilizare a comenzii help:
» help sin
SIN Sine.
SIN(X) is the sine of the elements of X.

Overloaded methods
help sym/sin.m

Desfăşurarea lucrării

Se vor rezolva problemele propuse din exemplele prezentate în lucrare, folosind comenzile de
redactare prezentate mai sus. Se va urmări înţelegerea felului în care se pot folosi funcţiile
elementare şi felul în care sistemul MATLAB returnează răspunsuri sau ne arată dacă s-au strecurat
erori în programul conceput. Dacă apar erori în aceste programe se poate apela funcţia help care
prezintă sintaxa corectă de folosire a unei funcţii MATLAB.
Exemplele prezentate sunt urmate de exerciţii propuse spre rezolvare. Unde este cazul, se va
verifica corectitudinea programelor concepute, cât şi a rezultatelor returnate de program.

Exemple
Expresii
Exemple de expresii şi rezultatele corespunzătoare ale evaluării acestor expresii:
Să se calculeze raportul de aur (numărul de aur), φ.
Semnificaţia geometrică a acestui raport este următoarea: dacă avem un segment de dreaptă de
lungime A şi îl împărţim în două segmente de lungimi B şi C (B>C), pentru a obţine raportul de aur
A B
trebuie ca:   , dacă vom considera că B=1 şi scriem egalitatea echivalentă:
B C
A B
 , rezultă: A2  A  1  0 , iar φ este chiar soluţia supraunitară a acestei ecuaţii:
B A CB

4
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice

» fi = (1+sqrt(5))/2
Returnează:
fi =
1.6180
Deoarece raportul de aur este întâlnit atât în felul în care natura şi divinitatea crează, dar şi în
arhitectură, estetică, muzică, numerologie etc., vom arăta şi alte forme ale acestui număr de aur.

Exerciţiul 1
Calculaţi cu precizie de 10-4 valorile de convergenţă ale şirurilor:
a1  1; a2  1 1 ; a3  1 1 1 ;...; an  1 1 1  ... ;
a1  1; a2  1; a3  2; a4  3; a5  5; ...; an  an  2  an 1 ;
Alt exemplu
» a = abs(3+4i)
a=
5
» a=sqrt(sin(58))
a=
0.9964

Deoarece interesează în primul rând calcul numeric vom prezenta modul în care se lucrează cu
datele de tip numeric.

Exerciţiul 2
Să se determine corespondenţa dintre scara liniară şi scara logaritmică de măsurare a vibraţiilor
(acceleraţiile), ştiind că nivelul de acceleraţie a vibraţiilor are expresia:
a
La  20 log10 -6 -2
a0 (dB), unde a0=10 (ms ).
Rezultatele obţinute pentru scara se vor trece într-un tabel ca cel de mai jos:
Scara logaritmică 10
La 2  La 2 ; (dB )
Scara liniară: 2 10 100
a2
a1
a
Obs. Se va folosi proprietatea: log  log a  log b
b
Concluzii: Lucrarea urmăreşte un prim contact cu sistemul MATLAB. S-a avut în vedere
modalităţile în care se pot redacta programele, tipurile de date şi cunoaşterea funcţiior matematice
elementare, cât şi iniţierea în folosirea lor în diverse aplicaţii.

5
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice

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