Sunteți pe pagina 1din 6

Laborator 25

MATLAB (1)
Limbajul tiinific MATLAB Limbajul tiinific MATLAB este un limbaj orientat spre calcule tiinifice i inginereti. Numele limbajului este dat de "MATrix LABoratory" MATLAB. Generaliti Limbajul tiinific MATLAB este caracterizat prin: a) lucreaz cu un singur tip de obiect, matricea numeric rectangular cu elemente reale sau complexe. n anumite situaii apar semnificaii speciale, matricele de mrime (1,1) sunt scalari, iar matricele cu o singur linie sau cu o singur coloan, sunt vectori. Operaiile i comenzile, n MATLAB, implicit accept ca operanzi, matrice; b) nu exist instruciuni de dimensionare i declarare. Stocarea acestor elemente se face automat, pn la limita memoriei disponibile pe respectivul calculator; c) prin multitudinea de funcii matematice disponibile, limbajul permite o rezolvare mult Fig.25-1. Fereastra de comand mai uoar a problemelor de calcul numeric dect n limbajele de programare universale (Fortran, Basic, Pascal, C). Utilizarea mediului MATLAB Mediul de programare MATLAB cuprinde un interpretor MATLAB, un depanator/editor precum i faciliti extinse de documentare interactiv. ncrcarea mediului MATLAB se face prin mecanismele cunoscute (din meniul Start/Programs/Matlab sau prin shortcut-ul Matlab de pe desktop). Dup ncrcarea programului, desktop-ul Windows va conine dou ferestre: fereastra de comand Matlab, i fereastra de reprezentare grafic. n fereastra de comand apare prompter-ul MATLAB ''.

Fig.25-2. Fereastra de reprezentare grafic

Modurile de lucru posibile n MATLAB sunt: modul de lucru direct; modul de lucru program (utiliznd fiierele surs m). n figurile alturate sunt prezentate principalele ferestre cu care opereaz Matlab: fereastra de comand - fig.1; fereastra de reprezentare grafic - fig.2; fereastra de editare/depanare - fig.3. Generarea matricelor simple n MATLAB, matricele pot fi generate n mai multe moduri: a) printr-o list explicit de elemente b) generat prin instruciuni i funcii interne c) generat pornind de la matrice existente d) creat n fiiere M e) ncrcat din fiiere externe de date. a) Metoda cea mai simpl de introducere a matricelor simple, este de a utiliza o list explicit de elemente. Lista explicit de elemente este separat prin spaii libere sau virgule, este inclus ntre paranteze ptrate, '['..']', i utilizeaz ';' pentru a separa liniile. De exemplu, introducnd instruciunea: A = [1 2 3; 4 5 6; 7 8 9] rezult A= 1 2 3 4 5 6 7 8 9 Matricea A este stocat n memorie pentru o utilizare ulterioar. Matricele mari pot fi scrise pe mai multe linii, nlocuind ';' cu o linie nou. De exemplu: A = [1 2 3 4 5 6 7 8 9] b) O alt posibilitate de iniializare a elementelor unei matrice este prin specificarea acestora utiliznd funciile MATLAB. De exemplu, folosind instruciunea x = [-1.3 sqrt(3) (1+2+3)*4/5]
Fig.25-3. Fereastra de depanare editare

voi obine x= -1.3000

1.7321

4.8000

c) O cale simpl de obinere a unor matrice, este aceea de extragere dintr-o matrice existent sau de complectare a unor matrice existente. Elementele individuale ale unei matrice pot fi referite prin indici cuprinse ntre paranteze rotunde, '(' i ')'. Astfel, primul element al matricei x se poate referi prin x(1). Se poate complecta o matrice existent conform exemplului urmtor x(5) = abs(x(1)) ce va duce la x= -1.3000

1.7321

4.8000

0.0000

1.3000

Se observ c mrimea matricei x crete automat pentru a putea include noul element i c elementele nedefinite sunt setate la valoarea 0, (x(4) = 0). Matricele mari pot fi obinute utiliznd ca elemente, matrice mici. De exemplu, putem ataa un nou rnd la matricea A prin secvena r = [10 11 12]; A = [A; r] obinnd A= 1 4 7 10

2 5 8 11

3 6 9 12

Matrice mai mici pot fi extrase din matrice mari utiliznd ':'. De exemplu A = A(1:3, :); va extrage primele trei rnduri i toate coloanele din matricea curent A, reobinnd astfel matricea A original.

d) O matrice poate fi creat i prin generarea unui fiier ASCII n care apare o instruciune de tipul celor prezentate la punctele a, b i c. Fiierul respectiv trebuie s aib extensia 'm'. e) Iniializarea unei matrice este posibil i prin generarea unor fiiere externe de date, din alte limbaje de programare cum ar fi: Fortran, Pascal, C. Aceast modalitate asigur schimbul de informaii ntre sistemul MATLAB i respectivele limbaje de programare. Instruciuni i variabile MATLAB este un limbaj orientat pe expresii. Expresiile introduse de utilizator sunt interpretate i evaluate de sistemul MATLAB. Instruciunile MATLAB sunt frecvent de forma: variabil = expresie sau, simplu expresie Expresiile sunt compuse din operatori i alte caractere speciale, din funcii i din identificatori de variabile. Evaluarea expresiei produce o matrice ce este afiat pe ecran i asignat unei variabile pentru utilizare ulterioar. Dac identificatorul de variabil i semnul '=' sunt omise, se va crea a variabil de nume 'ans' (answer), care va prelua valoarea expresiei. De exemplu, introducnd expresia: 1900/81 vom obine ans= 23.4568 O instruciune se termin n mod normal prin apsarea tastei 'Enter'. Dac ultimul caracter al instruciunii este caracterul ';' afiarea rezultatului se suprim. Dac expresia este complicat i nu ncape pe un rnd, putem continua i pe rndul urmtor, dac terminm rndul cu secvena '...' s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + 1/9 - 1/10 + 1/11 - 1/12; ...

Spaiile libere ntre simbolurile '=', '+' i '-', sunt opionale, fiind folosite pentru creterea lizibilitii. Identificatorii de variabile i de funcii sunt formai din litere, cifre i caracterul subliniere ' ', trebuind s nceap cu o liter. Lungimea acestora poate fi orict de mare, doar primele 19 caractere fiind memorate.

MATLAB-ul este sensibil la tipul de caracter, fcnd distincie ntre caracterele mari i caracterele mici, astfel nct a i A nu este aceeai variabil. Toate funciile MATLAB trebuie s fie scrise cu caractere mici. Elemente de baz ale limbajului MATLAB a) operaii cu discul: dir - obin lista tuturor fiierelor din directorul curent; delete - terg fiier; chdir - schimbare director curent; type - afiez coninutul fiierelor m; b) funcii generale: demo - apelare programele demostrative; clear - terge spaiul de lucru; help - obin informaii despre funciile MATLAB; what - obin lista fiierelor m din directorul curent; who, whos - obin informaii despre spaiul de lucru MATLAB; quit,exit - terminare program; c) comenzi: clc - terge ecranul; format - seteaz formatul de afiare; load - ncarc variabile din fiier; save - salveaz variabile n fiier; d) operaii cu matrici: + - adunarea a dou matrice; - scderea a dou matrice; * - nmulirea a dou matrice; / - mprirea a dou matrice (la stnga); \ - mprirea a dou matrice (la dreapta); ^ - ridicarea la putere; e) funcii matematice i trigonometrice elementare: exp - exponenial n baza e; sqrt - radical; log - logaritm natural; log10 - logaritm zecimal; abs - valoare absolut; real - parte real; imag - parte imaginar; sin - sinus; cos - cosinus; tan - tangenta; f) operatori relaionali: < - mai mic; <= - mai mic sau egal;

> - mai mare; >= - mai mare sau egal; == - egal; ~= - diferit; g) operatori logici: & - i logic; | - sau logic; ~ - nu logic; Obs.: Aceti operatori (logici i relaionali) vor returna valoarea 0 pentru false, i 1 pentru true. Tem 1. S se determine corelaia care exist ntre urmtoarele valori: timp (min) 1 12 45 55 120 concentraia (kmol/mc) 10 7 3,5 2,1 1,6

Bibliografie 1. * * *, MATLAB - Users Guide, The MathWorks, Inc, USA, 1999. 2. M.Ghinea, V.Fireeanu, Matlab. Calcul numeric-grafic-aplicaii, Editura Teora, Bucureti, 1998.

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