Documente Academic
Documente Profesional
Documente Cultură
Medii de Programare Pentru Prelucrări de Date Necesare În Proiectarea Asistată de Calculator
Medii de Programare Pentru Prelucrări de Date Necesare În Proiectarea Asistată de Calculator
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
Inf Infinit
NaN Not-a-number (nu este un număr)
Funcţiile hiperbolice
3
Universitatea « Politehnica » din Bucureşti
Master de cercetare - interdisciplinar Inginerie şi Proiectare Asistate de Calculator pentru Maşini
şi Structuri Mecanice
* 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 CB
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