Documente Academic
Documente Profesional
Documente Cultură
COMPLEMENTE DE MECATRONIC
1.Introducere
CAPITOLUL 1 INTRODUCERE
1.1 Obiectul lucrrii n aceast lucrare sunt prezentate exemple de reprezentare grafic, calcul numeric, difereniere grafic sau de citire a datelor de pe grafic bazate pe anumite aplicaii ntlnite n practic. Totodat sunt amintite i principalele funcii i comenzi utilizate n programele scrise n spaiul de programare MATLAB. Trebuie subliniat faptul c dintre numeroasele software uri existente n prezent n comer, cel mai indicat pentru analiza static i dinamic a sistemelor mecatronice este programul Matlab, datorit rspndirii sale pronunate att n mediul academic ct i n cel industrial. Totodat mai trebuie spus c limbajul de programare permite o construcie simpl a algoritmilor de calcul i permite o vizualizare rapid i uoar a rezultatelor. Mediul de programare dispune de multe comenzi pentru analiza numeric, pentru calculul matricial i vectorial, pentru generarea i procesarea semnalelor, pentru analiza sistemelor de control i pentru integrarea numeric a sistemelor liniare sau neliniare. Mai trebuie amintite i comenzile eficiente pentru generarea graficelor bidimensionale i tridimensionale, ce pot fi foarte uor personalizate. Scrierea modelelor n mediul MATLAB apeleaz sintaxe i notaii foarte asemntoare cu cele utilizate pentru definirea analitic a modelelor, ceea ce face ca programarea propriu-zis s fie destul de uoar. n cadrul cursurilor predate de autori sunt prezentate mai multe modele matematice ale sistemelor statice sau dinamice, sunt prezentate diferite standuri experimentale, pentru care modelarea i simularea n MATLAB este indispensabil.
1.2 Generaliti Dup tastare Matlab, sau dac se utilizeaz mediul Windows se clicheaz de dou ori pe pictograma MATLAB i se intr n spaiul de lucru (Workspace) al Matlab-ului. n acest spaiu se pot executa toate comenzile, se pot afia index-urile, rezultatele. Cteva din comenzile i informaiile importante sunt: 1
Complemente de mecatronic
listeaz toate variabilele prezente n Workspace; asemntoare cu WHO, dar n plus, furnizeaz dimensiunea variabilei (numrul de linii sau de coloane ce aparin variabilei); listeaz fiierele *. m sau *.mat, prezente n directorul curent; furnizeaz informaii on-line despre MATLAB i funciile acestuia; o linie precedat de % este interpretat ca un comentariu i nu este executat; apsnd aceast tasta se readuce pe ecran ultima comand tastat; execut comenzi din sistemul de operare DOS, fr prsirea
MATLAB-ului; QUIT, EXIT comenzi pentru ieirea din MATLAB. Not: Programul MATLAB face distincie ntre literele majuscule i cele mici (g nu este acelai lucru cu G). Toate comenzile n MATLAB se vor scrie utilizndu-se literele mici, n caz contrar se vor afia mesaje de eroare ce avertizeaz ca o anume comand nu exist. n aceast introducere comenzile au fost scrise ntr-un mod unic cu litere majuscule tocmai pentru a evidenia mai bine cele spuse mai sus.
1.3 Utilizarea matricelor i vectorilor Elementul de baz utilizat de MATLAB este matricea. Anumite matrice ce coni numere cu aezri particulare au nume specifice (scalari, vectori linie, vectori coloan, matrice ptrat, diagonal, zero, unitate). Exist multe tipuri de matrice i de moduri de definire a lor. Cele prezentate n tabelul 1.1 se refer la liniile scrise n MATLAB pentru evidenierea matricelor. Tabelul 1.1 Definirea matricelor n MATLAB Linia tastat A=12 B=[1 4 6] C=[1;2;3] Semnificaie A = 12 B=1 4 6 C=1 2 3 2 Comentarii scalar vector linie vector coloan modului de definire a
1.Introducere
D=1 2 3 E=2 5 4 3 7 5 F= 1 1 1 1 1 1 G=1 0 0 0 2 0 0 0 3 D=100 0 0100 0010 0001 I=0 0 0 0 0 0 L= 1 2 3 4 5 M=0 0.5 1 1.5 2 2.5
apostroful semnific matrice transpus matrice definit n general matrice compus din valori unitare matrice diagonal matrice unitate
matrice nul vector cu elemente echidistante aceast comand definete un vector indicnd: primul numr, intervalul ntre dou numere succesive, ultimul numr aceast comand definete un vector format din 5 numere, dispuse logaritmic ntre 100 i 102 alegerea elementului aflat n linia a doua i prima coloan a matricei E selectarea unei matrice din matricea E constituit din linia secund i coloanele 2 i 3 Vectorul Q este constituit din toate elementele coloanei secunde a matricei E. Caracterul : semnific considerarea tuturor elementelor Vectorul R conine toate elementele liniei a doua din matricea E
N=logspace(0,2,5)
O=E(2,1) P=E(2:2,2:3)
O=3 P=75
Q=E(:,2)
Q=5 7
R=E(2,:)
R=375
Complemente de mecatronic
1.4 Operaii ntre matrice Transpus B=A Adunare, scdere A+B , A-B nmulire (dimensiunile matricelor trebuie s corespund) mprire - cu scalari (/) - cu matrice 1) pentru o matrice ptrat A, mprirea A\B=INV(A)*B, conduce la soluia unui set de ecuaii liniare A*X=B 2) n mod similar B\A este echivalent cu B*INV(A) i conduce la soluia sistemului X*A=B Determinantul matricei A: det(A) Inversa matricei A: inv(A) Valori proprii ale matricei A: eig(A) 1.4.1 Operaii aritmetice Calculele aritmetice aplicate matricelor sau vectorilor pot fi clasificate n : operaii dup regulile calculului matriceal operaii cu matrice; operaii dup regulile calculului scalar operaii cu tablouri. Operatorii folosii n calculele aritmetice cu matrice i tablouri sunt prezentai n tabelul 1.2. Tabelul 1.2 Operatori folosii n calculele aritmetice Operaia Adunare Scdere nmulire mprire la stnga mprire la dreapta Ridicare la putere Transpunere Scalari + * \ / ^ Matrice + * \ / ^ Tablouri + .* .\ ./ .^ .
1.4.2 Operaii aritmetice cu scalari Operaiile aritmetice ntre doi scalari sunt date n tabelul 1.3. Tabelul 1.3 Operaii aritmetice cu scalari Operaia Adunare Scdere nmulire mprire la dreapt mprire la stnga 4 Forma algebric a+b a-b axb a:b b:a Forma de scriere n MATLAB a+b a-b a*b a/b a\b
1.Introducere
Ridicare la putere ab a^b n ceea ce privete ordinea n care sunt executate operaiile matematice n MATLAB trebuie precizat c aceasta este identic cu ordinea din matematica elementar cunoscut, adic: 1 . parantezele; 2. ridicarea la putere; 3. nmulirea i mprirea; 4. adunarea i scderea.
1.4.3 Operaii aritmetice cu vectori 1.4.3.1 Produs scalar. Produsul scalar a doi vectori de aceeai dimensiune este un scalar egal cu suma produselor componentelor corespunztoare ale celor doi vectori. Pentru a exemplifica produsul scalar se va considera urmtorul exemplu: Exemplu S se calculeze produsul scalar i unghiul dintre vectorii:
a = 4 i 5 j i
b = i + 3 j 3 k .
Programul de calcul este: %Program de calcul produs scalar si unghi; a=[4 -5 0]; b=[1 3 -3]; ab=sum(a.*b); %calcul produs scalar; mod_a=norm(a); mod_b=norm(b); alfa=acos(ab/(mod_a*mod_b))*180/pi; disp(ab); disp(alfa);
iar n urma rulrii programului se obin respectiv: produsul scalar ab = - 11 i unghiul dintre cei doi vectori alfa = 113.2108.
r r 1.4.3.2 Produs vectorial. Se numete produs vectorial (sau exterior) a doi vectori a, b un r r r vector c perpendicular pe planul celor doi vectori a , b , al crui modul este egal cu produsul r r r r r r a b sin(a , b) i care are fa de vectorii a , b o orientare pozitiv. Aceast operaie se noteaz:
r r r ab = c
Complemente de mecatronic
r r a b = ax bx
r i
r j
ay by
r k az bz
O alt variant de calculare a produsului scalar, diferit de cea prezentat la 1.4.3.1., este aceea de nsumare a elementelor diagonalei principale cu comanda: PS2=sum(diag(C)); %calcul produs scalar. Programul de calcul pentru produsul vectorial i produsul scalar este prezentat mai jos.
%Program pentru calculul produsului vectorial % si al produsului scalar; a=[7 -3 -5]; b=[-2 -3 -1]; C=a'*b; cx=C(2,3)-C(3,2); cy=C(3,1)-C(1,3); cz=C(1,2)-C(2,1); PV=[cx cy cz]; % calcul produs vectorial PS1=sum(a.*b); % calcul produs scalar cu metoda 1; PS2=sum(diag(C)); % calcul produs scalar cu metoda 2; disp(['PV = ',num2str(PV)]); %afisare rezultate disp(['PS1 = ',num2str(PS1)]); disp(['PS2 = ',num2str(PS2)]);
Se obin rezultatele:
PV = -12 17 -27 PS1 = 0 PS2 = 0
Variabilele pot fi salvate n cadrul unui fiier utilizndu-se comanda SAVE. SAVE fname salveaz toate variabilele prezente n spaiul de lucru ntr-un MAT-file binar denumit fname.mat. SAVE fnameX salveaz variabila X n fname.mat. SAVE fname X Y Z salveaz variabilele X Y Z n fname.mat.
1.Introducere
SAVE fname X Y Z-ascii utilizeaz un format ascii de 8 digit n locul formatului binar; acest format poate fi mult mai comod pentru o procesare succesiv a datelor n afara spaiului MATLAB. Ca exemplu, se poate utiliza spaiul Pascal sub DOS. Datele care sunt salvate n cadrul unui fiier pot fi apelate oricnd n spaiul de lucru prin comanda LOAD filename. MATLAB n mod automat caut un fiier cu extensia *.mat.
Exerciiu
Un exemplu de ncrcare a datelor coninute ntr-un fiier, este acela prin care se consider nlimile anumitor puncte de pe o suprafa aspr, nlimi ce sunt obinute n urma unei analize a unei suprafee prin prelucrarea imaginilor. Datele, respectiv nlimile suprafeei, sunt coninute n fiierul cip1h9.dat. Pentru reprezentarea grafic a nlimilor suprafeei (profilograma suprafeei) este elaborat programul de mai jos.
%program prelucrare date din import load d:\supraf\rugozit\cip1h9.dat; % vectorii X , Y sunt continuti in fisierul cip1h9.dat % fisierul cip1h9.dat se gaseste pe discul d X = cip1h9(:,1); Y = cip1h9(:,2); plot(X,Y);grid xlabel('X - [pixels]'); ylabel('Y - [pixels]');
De remarcat c fiierul cip1h9.dat se gsete pe discul dur D, n directorul supraf i subdirectorul rugozit. n ceea ce privete coninutul fiierului cip1h9.dat mai trebuie spus c vectorul X este dat de prima coloan din fiierul cip1h9.dat, iar vectorul Y reprezint cea de-a doua coloana a fiierului cip1h9.dat. Se reamintesc cazurile n care se utilizeaz funcia load:
Complemente de mecatronic
n toate cazurile, datele ncrcate trebuie s fie tablouri complete. Dup ncrcarea datele se regsesc n memoria calculatorului cu numele pe care l-a avut fiierul de date (fr extensie), indiferent de forma n care au fost stocate anterior. n urma executrii acestui program se obine graficul din figura 1.1.
Fig. 1.1
MATLAB se poate utiliza n mod direct, tastnd o singur linie de comand dup prompter (>>) i apoi enter, MATLAB execut imediat i vizualizeaz rezultatele. Mai mult, MATLAB poate executa i secvene de comenzi coninute n fiiere. Aceste fiiere se vor numi M-file deoarece au extensia .m. Pentru scrierea unui M-file: Este suficient un editor care s salveze caracterele n formatul ASCII i apoi dnd fiierului extensia .m s se obin fiierul M-file. Dac se utilizeaz sistemul de operare Windows se alege din
8
1.Introducere
meniul File, opiunea New : M-file pentru obinerea unei ferestre n care se pot scrie comenzile ce vor constitui noul fiier M-file. Pentru executarea unui fiier M-file: Este suficient s se tasteze numele fiierului fr extensie; dac fiierul nu este gsit aceasta se datoreaz faptului c fiierul este plasat ntr-un director ce nu este coninut n calea de cutare a MATLAB-ului. (Se va utiliza HELP PATH pentru rezolvarea acestei probleme). Exist dou tipuri de fiiere M-file: