+ All Categories
Home > Documents > Limbaje 9

Limbaje 9

Date post: 17-Jan-2016
Category:
Upload: codrinamagda
View: 8 times
Download: 0 times
Share this document with a friend
17
Limbaje de programare inginereşti Tema 9 MATLAB. Noţiuni generale
Transcript
Page 1: Limbaje 9

Limbaje de programare inginereşti

Tema 9MATLAB.

Noţiuni generale

Page 2: Limbaje 9

CE ESTE MATLAB ?

MATLAB® (MATtrix LABoratory) este un pachet de programe de înaltă performanţă, interactiv, destinat calculului matematic, ştiinţific şi ingineresc.

MATLAB integrează calcul, programare şi vizualizare, într-un mediu de lucru prietenos, soluţionarea problemelor presupunând folosirea notaţiilor matematice clasice.

Utilizarea programului MATLAB include: • Matematică şi calcul numeric

• Programare şi dezvoltare de algoritmi • Achiziţia de date• Modelare şi simulare • Analiză de date, exploatarea rezultatelor şi vizualizare • Grafică ştiinţifică şi inginerească • Dezvoltare de aplicaţii software, incluzând construcţie de interfeţe grafice cu utilizatorul (GUI)

Page 3: Limbaje 9

CE ESTE MATLAB ?

MATLAB este un produs al companiei americane The Mathworks, Inc. [http://www.mathworks.com] şi lucrează sub Windows, Unix, LINUX şi Machintosh.

MATLAB include toate facilităţile unui limbaj complet de programare, admiţând interfeţe cu limbajul de programare C, C++ şi FORTRAN. MATLAB a cunoscut o puternică evoluţie în decursul ultimilor ani, reprezentând astăzi în mediile universitare o unealtă standard de calcul, fiind asociată diverselor cursuri introductive sau avansate în matematică, ştiinţă şi inginerie.

În industrie, MATLAB este recunoscut ca un mijloc de investigaţie numerică performant, utilizat în sprijinul unei activităţi de cercetare, dezvoltare şi analiză de înalt nivel.

Page 4: Limbaje 9

CE ESTE MATLAB ?

Versiunea completă a pachetului de programe MATLAB conţine o întreagă familie de module specifice, denumite tool-box-uri, respectiv blockset-uri, care permit rezolvarea unor aplicaţii din diverse domenii cum ar fi: maşini, aparate şi acţionări electrice, control de sistem, aplicaţii DSP, procesarea materialelor şi electro-tehnologii, procesare de semnal, mecanică, industria aeronautică şi de automobile, statistică, finanţe şi multe altele.

Aceste module sunt colecţii de funcţii MATLAB (M-files), uşor de asimilat, care extind puterea de calcul a pachetului de programe MATLAB în vederea rezolvării unor clase particulare de probleme.

Colecţia de module MATLAB conţine: Simulink, DSP, Control System, SimPowerSystems, SimMechanics, Data Acquisition, Fuzzy Logic, Image Processing, Partial Differential Equations, Neural Network, Optimization, System Identification, Financial, Statistics, Communications, Database,

Virtual Reality etc.

Page 5: Limbaje 9

STRUCTURA SISTEMULUI MATLAB

Structura sistemului MATLAB constă în cinci părţi principale:

Mediul de dezvoltare. Acesta este alcătuit dintr-un set de unelte care facilitează folosirea funcţiilor şi fişierelor MATLAB. Multe dintre acestea reprezintă de fapt interfeţele grafice şi includ fereastra principală MATLAB sau MATLAB Desktop, fereastra de comenzi sau Command Window, fereastra ce memorează istoria comenzilor sau Command History, şi browser-ele de Help, Workspace, Files, Search Path etc.

Biblioteca de funcţii matematice MATLAB. Aceasta constă într-o vastă colecţie de algoritmi de calcul, pornind de la funcţii elementare precum sumă, sinus, cosinus şi aritmetică complexă, pană la funcţii mai sofisticate precum inversare de matrici, calcul de valori proprii, funcţii Bessel, şi transformata Fourier.

Page 6: Limbaje 9

STRUCTURA SISTEMULUI MATLAB

Limbajul MATLAB. Limbajul MATLAB este un limbaj matrice/vector de înalt nivel ce include instrucţiuni de control al buclelor, funcţii, structuri de date, comenzi de intrare/ieşire şi instrucţiuni de programare orientată pe obiecte. Limbajul MATLAB permite atât ”programarea superficială” pentru crearea rapidă a unor mici programe de calcul specifice, cât şi "programarea în detaliu" în vederea dezvoltării unor programe complexe de nivel superior. Handle Graphics®. Handle Graphics reprezintă sistemul de grafică MATLAB şi include atât comenzi de înalt nivel pentru vizualizarea 2D şi 3D a datelor, procesare de imagini, animaţie şi grafică, cât şi comenzi de nivel redus ce permit personalizarea completă a reprezentărilor grafice şi construirea integrală a interfeţelor grafice (GUI) pentru aplicaţiile MATLAB. MATLAB Application Program Interface (API). Aceasta este o bibliotecă ce permite scrierea programelor C şi Fortran ce interacţionează cu MATLAB. Biblioteca conţine facilitaţi de apel de subrutine din MATLAB (dynamic linking), de apelare a MATLAB-ul ca pe o maşină de calcul, şi de citire şi scriere de fişiere MAT-files.

Page 7: Limbaje 9

FERESTRELE DE LUCRU MATLAB

Fereastra principală MATLAB (MATLAB Desktop)

Page 8: Limbaje 9

FERESTRELE DE LUCRU MATLAB Ferestrele Desktop-ului. Următoarele ferestre sunt supervizate de MATLAB Desktop, deşi nu toate apar implicit după lansare:

• Fereastra de comenzi (Command Window), permite lansarea comenzilor MATLAB; • Fereastra Command History, permite memorarea, vizualizarea, editarea şi relansarea funcţiilor lansate anterior în Command Window. • Fereastra Launch Pad, permite lansarea uneltelor şi accesarea documentaţiei MATLAB • Fereastra Current Directory Browser, permite controlul asupra fişierelor MATLAB şi a celor asociate

• Fereastra Help Browser, permite vizualizarea şi căutarea documentaţiei MATLAB

• Fereastra Workspace Browser permite vizualizarea şi schimbarea conţinutului spaţiului de lucru • Fereastra Array Editor permite editarea şi vizualizarea conţinutului variabilelor într-un format tabelar • Fereastra Editor/Debugger permite crearea, editarea şi depanarea fişierelor M-files ce conţin funcţii MATLAB.

Page 9: Limbaje 9

TIPURI DE DATE

Numere. MATLAB foloseşte pentru numere notaţia zecimala convenţională, cu punct zecimal opţional si semne plus sau minus. Notaţia stiintifică foloseşte litera e pentru a specifica 10 la puterea corespunzătoare. Numerele imaginare folosesc fie i fie j ca sufix. Iata cateva exemple de numere: 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Toate numerele sunt stocate intern folosind formatul long standardizat, având o precizie de circa 16 cifre semnificative şi variind intre aproximativ 10-308 şi 10+308. Pentru a economisi memorie, numerele pot fi folosite şi în forma întreg sau zecimal cu simplă precizie.

În afara datelor de tip numeric, MATLAB lucrează şi cu date de tip logic sau de tip caracter.

Page 10: Limbaje 9

CARACTERE SPECIALE

: Se foloseste la generarea diviziunilor ( ) Folosite pentru “corpul” unei functii [ ] Pentru desemnarea unei matrici/vector @ Simbol pentru anuntarea unei functii de tip FUNCTION_HANDLE . Indicator de operatie aritmetica “element cu element” … Continuarea unei comenzi Matlab pe linia de comanda urmatoare , Separator intre instructiuni pe aceiasi linie de comanda (cu ecou pe ecran) ; Separator intre instructiuni pe aceiasi linie de comanda ( fara ecou pe ecran) % Se foloseste pentru a anunta comentarii in program ! Parasirea mediului Matlab pentru o sesiune de lucru externa = Asignare ‘ Transpusa unei matrici [,] Separator intre elementele aceleiasi linii intr-o matrice/vector [;] Separator intre liniile unei matrici

Page 11: Limbaje 9

MATLAB nu necesită nici un tip de instrucţiuni de declarare sau dimensionare a variabilelor. Când MATLAB intâlneşte un nou nume de variabilă, acesta creează automat variabila şi alocă memoria necesară. Dacă variabila deja există, MATLAB schimbă conţinutul acesteia şi dacă este necesar aloca o altă cantitate de memorie.

Numele de variabile încep obligatoriu cu o literă, urmată de orice număr de litere, cifre, etc. MATLAB foloseşte doar primele 63 de caractere ale unui nume de variabilă. MATLAB face deosebirea între litere mari şi mici. A si a nu reprezintă aceeaşi variabilă.

ATENŢIE ! Dacă unei variabile i se dă numele unei funcţii, funcţia nu mai poate fi folosită până când variabila nu este ştearsă. Există şi un număr de cuvinte rezervate, care nu pot fi folosite ca nume de variabile ('break‘, 'continue‘, 'else‘, 'end‘, 'for‘, 'function‘, 'if‘, 'return‘, 'switch‘, 'while‘, etc)

VARIABILE

Page 12: Limbaje 9

Datorită faptului că într-o sesiune de lucru numărul de variabile folosite poate fi foarte mare, MATLAB dispune de o serie de comenzi şi funcţii care să uşureze munca programatorului. Acestea sunt: • who - pentru a lista variabilele din workspace-ul curent;• whos - pentru a lista variabilele si informaţii despre dimensiunile si clasa lor.• exist nume - pentru a vedea daca variabila specificata se afla in workspace.• isvarname nume - verifică dacă numele variabilei propuse este valid, returnând valorile 0 sau 1.• which -all nume - verifică dacă numele variabilei propuse este folosit de o funcţie.• clear nume – şterge din memorie numele variabilei. Folosită fără un nume, comanda şterge din memorie toate variabilele.

VARIABILE

Page 13: Limbaje 9

VALORI SPECIALE

pi 3.14159265...

i sqrt(-1)

j sqrt(-1)

eps Precizia relativa in virgula mobila 2.2204e-016

realmin Cel mai mic număr in virgula mobila 2.2251e-308

realmax Cel mai mare număr in virgula mobila 1.7977e+308

inf Infinit

NaN Not-a number

Page 14: Limbaje 9

OPERATORI

În MATLAB operatorii pot fi: aritmetici, logici sau relaţionali.

Operatorii matematici+ Adunare

- Scădere

.* Înmulţire

./ Împărţire la dreapta

.\ Împărţire la stânga

+ Plus unar

- Minus unar

.^ Putere

.' Transpusă

' Transpusă complex conjugată

* Înmulţire de matrice

/ Împărţire la dreapta a matricelor

\ Împărţire la stânga a matricelor

^ Ridicarea la putere a matricelor

Page 15: Limbaje 9

FUNCŢII

MATLAB pune la dispoziţie un mare număr de funcţii matematice standard, incluzând abs, sqrt, exp, şi sin. Extrăgând radical sau aplicând logaritm pe un număr negativ nu este eroare ci rezultatul este un număr complex calculat automat. MATLAB dispune de trei categorii de funcţii: funcţii elementare, funcţii avansate şi funcţii speciale pentru matrice. Multe dintre aceste funcţii accepta argumente complexe. O lista a funcţiilor elementare se poate obţine tastând help elfun. Pentru a obţine o lista a funcţiilor avansate de matematica si de manipulare a matricelor se tastează help specfun, help elmat.

Page 16: Limbaje 9

MANIPULAREA MATRICELOR

Se poate defini o matrice in MATLAB pe mai multe cai: • Se introduce o lista explicita de elemente. • Se încarcă matricea din fişiere de date externe. • Se generează matricea folosind funcţii incluse. • Se crează matricea folosind propriile funcţii.

Pentru introducerea unei matrice ca o lista de elemente trebuiesc respectate câteva convenţii de baza: • Se separă elementele unui rând cu spatii blanc sau virgule. • Se foloseşte un semn punct si virgula, ”;”, pentru a indica sfarsitul fiecărui rând. • Se include întreaga lista intre paranteze pătrate, ”[ ]”.

ExempluA = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1

Page 17: Limbaje 9

MATLAB dispune de mai multe funcţii de generare a matricilor de baza, cum ar fi:

zeros Matrice doar cu elemente nule

ones Matrice doar cu elemente unitate

rand Matrice cu elemente aleatoare uniform distribuite

randn Matrice cu elemente aleatoare normal distribuite

eye Matrice cu elemente nule cu exceptia diagonalei principale plina cu elemente unitate

diag Matrice diagonala

linspace Vectori cu elemente avand valori distribuite liniar

logspace Vectori cu elemente avand valori distribuite logaritmic


Recommended