Sunteți pe pagina 1din 9

1 | P a g e

Programare si limbaje II
Anul I, AR+ITT

1 Aspecte organizatorice

Orar
Tip activitate Grupa Ora Ziua Sala Cadrul didactic
Curs I AR+ITT
12:10-14:00,
sptmnile impare
Miercuri A117 Conf.dr.ing. OvidiuDetean
Laborator 2411/1 16:10-18:00 Mari B202 Conf.dr.ing. OvidiuDetean
Laborator 2411/2 14:10-16:00 Miercuri B201 Asist.dr.ing. Claudiu Schonstein
Laborator 2412/1 8:00-9:50 Mari B202 Conf.dr.ing. OvidiuDetean
Laborator 2412/2 9:00-10:50 Mari B202 Conf.dr.ing. OvidiuDetean
Laborator 2413/1 10:00-11:50 Joi B202 Asist.dr.ing. Kalman Kacso
Laborator 2413/2 14:10-16:00 Joi B202 Asist.dr.ing. Ovidu Buiga
Laborator 2414/1 8:00-9:50 Joi B202 Asist.dr.ing. Kalman Kacso
Laborator 2414/2 8:00-9:50 Luni B202 Asist.dr.ing. Bogdan Gherman
Laborator 2415/1 12:10-14:00 Joi B202 Asist.dr.ing. Kalman Kacso
Laborator 2415/2 12:10-14:00 Mari B202 Conf.dr.ing. OvidiuDetean
Laborator 2711/1 14:10-16:00 Miercuri B202 Conf.dr.ing. OvidiuDetean
Laborator 2711/2 16:10-18:00 Miercuri B202 Conf.dr.ing. OvidiuDetean
Laborator 2712 14:10-16:00 Mari B202 Conf.dr.ing. OvidiuDetean

Curs: 1h /sptmn
Laborator: 2h /sptmn

Forma de verificare: Colocviu
Numr credite: 3

Zile libere: Luni, Mari 16-17 aprilie (Pate)
Mari, 1 mai.

Componentele notei: (S) 50% verificare scris (teorie+exerciii)
(L) 25% verificare laborator
(D) 25% dosar probleme.

Cerine obligatorii pentru promovare: S, L, D 5.

Bonusuri: +0,5 puncte pentru 3 prezene la curs
+0,25 puncte pentru 2 prezene la curs
+x (x<=5) puncte pentru rspunsuri la ntrebri la curs
- se pstreaz i n caz de restane.

2 Bibliografie

1. Wilson, H.B., Turcotte, L.H., Halpern, D., Advanced Mathematics and Mechanics Applications Using MATLAB,
Chapman & Hall/CRC, USA, 2003, ISBN 1-58488-262-X.
2. Ghinea, M., Fireeanu, V., Matlab Calcul numeric, grafica, aplicaii, Ed. Teora, Bucuresti, 2004.
3. MATLAB, The Language of Technical Computing Function Reference, The MathWorks Inc., USA, 2004.
4. Manassah, J.T., Elementary mathematical and computational tools for electrical and computer engineers
using MATLAB, CRC Press LLC, Boca Raton, London, New York, Washington, 2001, ISBN 0-8493-1080-6.
5. Pao, Y.C., Interactive Methods and Programs with FORTRAN, QuickBASIC, MATLAB, and Mathematica, CRC
Press LLC, Boca Raton, London, New York, Washington, 2001, ISBN 0-8493-1080-6.
6. Cleve Moler, The Origins of Matlab,
http://www.mathworks.com/company/newsletters/news_notes/clevescorner/dec04.html, accesat n
22/02/2012.
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
2 | P a g e
7. Matlab, The Language of Technical Computing, http://www.mathworks.com/products/matlab/ , accesat
n 22/02/2012.
8. Matlab R2011b, Function Reference, http://www.mathworks.com/help/techdoc/ref/f16-6011.html,
accesat n 22/02/2012.
9. Matlab Datasheet,
http://www.mathworks.com/tagteam/70533_91199v01_MATLABDataSheet_v9.pdf?s_cid=ML2012_bb_d
atasheet, accesat n 22/02/2012.
10. Matlab R2011b, MathWorks Documentation, http://www.mathworks.com/help/index.html , accesat n
22/02/2012.

3 Lista cursurilor (propunere)

C1. Introducere in Matlab. Istoric. Argumente. Elementele interfeei mediului Matlab. Pachete Matlab. Linia de
comanda. Afiarea informaiilor de tip help din linia de comanda si din meniu: comenzile help, more, doc.
Programe demonstrative: comanda demo. Matlab ca i calculator. Numere i formate: comanda format. Variabile.
Expresii. Suprimarea afirii rezultatului.

C2. Caractere speciale utilizate n MATLAB. Clase MATLAB. Clasa boolean (logical). Clasele numerice. Clasele
numerice n virgul flotant.

C3. Clase MATLAB. Clasele numerice ntregi. Clasa text (char). Crearea unui singur caracter. Crearea unui ir de
caractere. Crearea unui tablou de iruri de caractere. Clasa manipulator de funcie (function_handle). Crearea unui
manipulator de funcie. Manipularea unei funcii anonime. Obinerea de informaii despre un manipulator de
funcie. Clasele container eterogen. Clasa container eterogen bazat pe nume (struct). Clasa container eterogen
indexat (cell).
C4. Fiiere script. Crearea/editarea unui fiier script. Deschiderea unui fiier din fereastra de comenzi. Afiarea
coninutului unui fiier n fereastra de comenzi. Comentarii. Celule de cod. Ecoul comenzilor dintr-un fiier script.
Funcii de intrare. Funcia input(). Funcia sscanf(). Funcii de ieire. Funcia display(). Funcia disp(). Funcia
sprintf().

C5. Instruciuni de control condiional. Instruciunea if-end. Instruciunea if-else-end. Instruciunea if-elseif-end.
Instruciunea de selecie multipl switch-case-otherwise-end. Instruciuni de control al ciclurilor. Instruciunea for-
end. Instruciunea while-end. Instruciunea break. Instruciunea continue. Instruciunea return.
C6. Funcii definite de utilizator. Definirea unei funcii MATLAB. Comanda function. Reguli de denumire a unei
funcii. Argumentele unei funcii. Sfritul unei funcii. Spaiul variabilelor unei funcii. Exemplu de definire a unei
funcii. Tipuri de funcii. Funcii primare. Funcii secundare (subfunctions). Funcii imbricate (Nested Functions).
Funcii anonime. Funcii suprancrcate (Overloaded Functions). Funcii private.
C7. Calculul simbolic n Matlab. Aplicaii n ingineria mecanic.

Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
3 | P a g e
Curs 1. Introducere in Matlab
1.1 Istoric
MATLAB (acronim de la Matrix Laboratory) este un mediu de dezvoltare pentru calcul numeric si analiz statistic
care conine limbajul de programare cu acelai nume, creat de MathWorks. MATLAB permite manipularea
matricelor, vizualizarea funciilor, implementarea algoritmilor, crearea de interfee grafice utilizator (GUI) i poate
interaciona cu alte aplicaii (C/C++, Java, Excel etc.). Chiar daca e specializat in calcul numeric, exista pachete
(toolboxes) care i permit sa interacioneze cu motoarele de calcul simbolic gen Maple. Un pachet adiional,
Simulink, ofer posibilitatea de a realiza simulri ale sistemelor dinamice utiliznd modele matematice. MATLAB e
utilizat pe larg in industrie, n universiti i e disponibil multiplatform (pe mai multe platforme hardware i/sau
sisteme de operare), sub diverse sisteme de operare: Windows, GNU/Linux, UNIX i Mac OS.
Abrevierea MATLAB a fost creat la sfritul anilor '70 de ctre Cleve Moler, preedintele departamentului de
informatic a Universitii din New Mexico. Iniial creat pentru a permite accesul studenilor si la bibliotecile
LINPACK (bibliotec software pentru algebra linear numeric) i EISPACK (bibliotec software pentru calculul
numeric al valorilor proprii si a vectorilor proprii), scrise n limbajul de programare FORTRAN, fr necesitatea de
a studia limbajul FORTRAN. n curnd se va rspndi i n alte universiti, gsind un public larg n domeniul
matematicii aplicate. Jack Little, inginer de formaie, a intrat in contact cu MATLAB in timpul unei vizite a lui Moler
la Universitatea Stanford in 1983. Recunoscnd imediat potenialul su comercial, se va uni cu Cleve Moler i
Steve Bangert rescriindu-l in limbajul C. In anul 1984, acetia au fondat MathWorks, continund dezvoltarea
aplicaiei.
Ultima versiune Matlab: 2011b, lansat n septembrie 2011 (informaie din data de 22/02/2012).

1.2 Argumente
Matlab The Language of Technical Computing
Limbaj specializat n calcule tehnice
Utilizat n universiti, centre de cercetare, industrie etc.
Util la elaborarea proiectelor de semestru, an, lucrri de licen, lucrri de disetaie, teze de doctorat.
Limbaj de programare de nivel supernalt, conine mii de funcii specializate.

1.3 Elementele interfeei mediului Matlab

Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
4 | P a g e
Bara de titlu
Bara de meniu
Bara de instrumente
Bara de scurtturi (shortcuts)
Ferestre:
Directorul curent
Fereastra de comenzi
Spaiul variabilelor (Workspace)
Istoricul comenzilor
Butonul Start
Linia de comanda in fereastra de comenzi
Prompter-ul liniei de comanda:
>>
Comenzi Matlab in modul interactiv

1.4 Pachete Matlab

MATLAB Toolboxes (R2011b)
Aerospace Toolbox
Bioinformatics Toolbox
Communications System Toolbox
Computer Vision System Toolbox
Control System Toolbox
Curve Fitting Toolbox
Data Acquisition Toolbox
Database Toolbox
Datafeed Toolbox
DSP System Toolbox
Econometrics Toolbox
EDA Simulator Link
Filter Design HDL Coder
Financial Toolbox
Financial Derivatives Toolbox
Fixed-Income Toolbox
Fixed-Point Toolbox
Fuzzy Logic Toolbox
Global Optimization Toolbox
Image Acquisition Toolbox
Image Processing Toolbox
Instrument Control Toolbox
Mapping Toolbox
Model-Based Calibration Toolbox
Model Predictive Control Toolbox
Neural Network Toolbox
OPC Toolbox
Optimization Toolbox
Partial Differential Equation Toolbox
Phased Array System Toolbox
RF Toolbox
Robust Control Toolbox
Signal Processing Toolbox
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
5 | P a g e
Spreadsheet Link EX
Statistics Toolbox
Symbolic Math Toolbox
System Identification Toolbox
Vehicle Network Toolbox
Wavelet Toolbox

1.5 Operatori

1.5.1 Operatori aritmetici

Funcie echivalent Descriere Operator

plus - Plus +
uplus - Plus unar +
minus - Minus -
uminus - Minus unar -
mtimes - nmulire de matrice *
mpower - Ridicare la putere ^
power - Ridicare la putere (matriceal) .^
mldivide - Backslash sau mprire
matriceal la stnga \
mrdivide - Slash sau mprire
matriceal la dreapta /

1.5.2 Operatori relaionali

Funcie echivalent Descriere Operator
eq - Egal ==
ne - Diferit ~=
lt - Mai mic <
gt - Mai mare >
le - Mai mic sau egal <=
ge - Mai mare sau egal >=

1.5.3 Operatori logici

Funcie echivalent Descriere Operator
relop - I logic &&
relop - SAU logic ||
and - I logic element cu element &
or - SAU logic element cu element |
not - Negaie logic (NOT) ~
xor - SAU EXCLUSIV logic
any - Adevrat dac exist un element n vector diferit de zero
all - Adevrat dac toate elementele din vector sunt diferite de zero

1.5.4 Operatori pe bii

Funcie echivalent Descriere Operator
bitand - I pe bii.
bitcmp - Complement binary pe bii.
bitor - SAU pe bii.
bitmax - Cel mai mare ntreg flotant n dubl precizie.
bitxor - SAU EXCLUSIV pe bii.
bitset - Seteaz bit la poziia specificat.
bitget - Citete bit la poziia specificat.
bitshift - Deplasare pe bii.

1.5.5 Operatori pe mulimi
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
6 | P a g e

Funcie echivalent Descriere Operator
union - Mulimea reuniune a doi vectori.
unique - Elementele unice dintr-un vector (elimin duplicatele).
intersect - Mulimea intersecie a doi vectori.
setdiff - Mulimea diferen a doi vectori.
setxor - Mulimea SAU-exclusiv a doi vectori (valorile care nu se afl n
intersecia celor doi vectori).
ismember - Verificarea apartenenei elementelor unui vector ntr-o mulime.


1.6 Afiarea informaiilor de tip help din linia de comanda si din meniu

Comanda help afieaz subiecte (topic-uri) de tip help
>>help

Informaii despre comanda help
>>help help

Informaii operatori si caractere speciale
>>help /

Comanda more permite paginarea ieirii pe ecran derularea efectului unei comenzi, ecran cu ecran (in cazul in
care acesta depete coninutul unui ecran).

Enter avanseaz linie cu linie
Space avanseaz ecran cu ecran
q nceteaz afiarea articolului curent

>>help more
>>more on
>>help
>>more(20)
>>help
>>more off

Se va alege un subiect din lista de subiecte rezultate in urma rulrii comenzii help. Ex.
>>help general % comenzi generale
>>help ops % operatori si caractere speciale
>>help lang % structuri ale limbajului de programare
>>help graphics % comenzi de manipulare grafica

Din meniu:
Help -> Product Help
Function Browser
Using the Desktop
Using the Command Window
Web Resources

Comanda doc help in mod grafic (documentaie in format html, in fereastra help)

>>doc % efect identic cu Product help
>>help doc
>>doc doc

1.7 Programe demonstrative

>>help demo
>>doc demo
>>demo % efect similar: Help -> Demos
Se vor studia la alegere trei programe sau filme demonstrative din fereastra Demo.
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
7 | P a g e

1.8 Variabile

Variabila ans cel mai recent rspuns (answer); variabila creata automat, avnd valoarea ultimei expresii care nu
a fost atribuita altei variabile.

>>help ans
>>ans

Nume de variabile: orice combinaie de litere, cifre si caracterul _ (underscore), ncepnd cu o litera.
Se recomanda evitarea redefinirii variabilelor predefinite (ex. pi, eps, i, j).

>>help pi
>> help eps
>> help i
>> help j
>>pi
>>eps
>>i
>>j

Iniializarea unei variabile (atribuire)

>>a=15.23+(105-22)/(16*25.3)
>>b=(3*(23-17+25.5))^(1/2)
>>c=56^(1/3)

Afiarea valorii unei variabile

>>a
>>b
>>c

Calculul valorilor unor expresii

>>a+b+c
>>5*a-2*b/c

1.9 Expresii

Alctuire din operanzi i operatori.
Operanzi: constante, variabile, elemente de tablouri etc.

1.10 Matlab ca si calculator (calcul de expresii de diferite tipuri)

Prioritatea operatorilor:
() , ^, *, /, +, -

Exemplu:
Sa se calculeze valoarea expresiilor:
a.
3 , 25 16
22 105
23 , 15

+
b. ) 5 , 25 17 23 ( 3 +
c.
3
56
d. 101 1 1 1 1 1 + + + + + Raspuns: 1.6599
e.
4
357357 101101 357357 101101 + + + Raspuns: 703.1163
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
8 | P a g e
f.
101 1
1
1
1
1
1
1
+
+
+
+ Raspuns: 1.5024

Rezolvare:
a.
>> 15.23+(105-22)/(16*25.3)
ans =
15.4350
b.
>> (3*(23-17+25.5))^(1/2)
ans =
9.7211
c.
>> 56^(1/3)
ans =
3.8259
d.
>> (1+(1+(1+(1+(1+101)^(1/2))^(1/2))^(1/2))^(1/2))^(1/2)
ans =
1.6599
e.

f.
>> 1+1/(1+1/(1+1/(1+101)))
ans =
1.5024


1.11 Numere si formate

Tipuri de numere recunoscute de Matlab:
ntregi: 1157, -235
reale: -12.5, 3.1415
complexe: 2.75-3.254i
infinit: Inf
Not a Number, 0/0: NaN

>>help inf
>>help nan

Comanda format

>>doc format

Sintaxa comenzii format:
format
format type
format('type')
Tipuri de format:
short
long
short e
long e
short g
long g
short eng
long eng
Conf.dr.ing. Ovidiu-Aurelian Detean Programare si limbaje II Curs 1. Introducere in Matlab
9 | P a g e
+
bank
hex
rat
compact
loose


1.12 Suprimarea afirii rezultatului

Cnd nu se dorete afiarea unui rezultat, se folosete caracterul (;) ca terminator al unei instruciuni de atribuire.

>>x=2.22; y=10.5^(1/2), z=101^3
y =
3.2404
z =
1030301


Bibliografie suplimentara:
Cleve Moler, The Origins of Matlab,
http://www.mathworks.com/company/newsletters/news_notes/clevescorner/dec04.html, accesat n
22/02/2012.
Matlab, The Language of Technical Computing, http://www.mathworks.com/products/matlab/ , accesat n
22/02/2012.
Matlab R2011b, Function Reference, http://www.mathworks.com/help/techdoc/ref/f16-6011.html, accesat n
22/02/2012.
Matlab R2011b, MathWorks Documentation, http://www.mathworks.com/help/index.html , accesat n
22/02/2012.
Matlab, http://ro.wikipedia.org/wiki/MATLAB , accesat n 22/02/2012.

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