Documente Academic
Documente Profesional
Documente Cultură
Introducere
Un mare număr de funcţii sunt construite direct în Matlab. Ele se
pot apela folosind numele funcţiei împreună cu parametrii care
definesc funcţia. Aceste funcţii pot returna una sau mai multe
valori. Tot în cadrul acestui curs sunt prezentate instrucţiuni de
control logic, precum şi comenzi de citire şi afişare în Matlab.
Obiective
Studentul trebuie să cunoască noţiuni introductive de Matlab, să fie
capabil să scrie fişiere în Matlab, precum şi instrucţiuni de control
logic.
Instrucţiuni în Matlab
Instrucţiunea “if“
Clauza else este utilizată pentru a executa un set de instrucţiuni, dacă expresia
logică este Adevărată şi un alt set de instrucţiuni dacă expresia logică este Falsă.
[6], [20], [24]
Forma generală de apelare a clauzei else este:
if expr_logică
grup_de_instrucţiuni_1
else
grup_de_instrucţiuni_2
end
Clauza “elseif”
Clauza elseif se foloseşte atunci când funcţia de calculat are mai multe
nivele de instrucţiuni elseif. [6], [20], [24]
Forma generală de apelare a clauzei elseif este:
if expr_logică 1
grup_de_instrucţiuni_1
elseif expr_logică 2
grup_de_instrucţiuni_2
elseif expr_logică 3
grup_de_instrucţiuni_3
-------------------------------------
else
grup_de_instrucţiuni_n
end
Instrucţiunea “for”
Instrucţiunea “while”
Instrucţiunea “break”
Comanda “input”
Comanda “disp”
Afişează valoarea unei matrici fără a tipări numele ei. Dacă matricea este un mesaj
va tipări respectivul mesaj (text).
Se apelază cu sintaxa:
disp(A)
unde A este un text şir sau o matrice. [6], [20]
Formatul în care valorile numerice vor fi afişate poate fi modificat de utilizator
prin instrucţiunile:
format short % 5 cifre semnificative cu virgulă fixă
format long % 15 cifre semnificative cu virgulă fixă
format short e % 5 cifre semnificative cu exponent
format long e % 15 cifre semnificative cu exponent
Comanda “fprintf”
Permite tipărirea unui mesaj şi a unei liste de variabile pe ecran sau într-un
fişier. Se apelează cu sintaxa:
fprintf ( ‘ filename ‘ , ‘ format string ‘ , lista )
unde: - lista este o listă de nume de variabile separate prin virgulă
- filename este numele fişierului care este un parametru opţional
Elementele folosite în ‘ format string ‘ sunt:
% P.Qe – pentru operaţii exponenţiale
% P.Qf – numere reale
% P.Qg – scrierea numărului în formatul cel mai potrivit (% P.Qe sau % P.Qf )
\ n operatorul pentru linie nouă.
P şi Q sunt întregi.
unde: P setează lăţimea punctului de afişare, iar Q setează numărul de locaţii pe
care va fi aşezată partea zecimală a numărului ce urmează a fi afişat.
De exemplu % 5.3f – este un număr real cu lăţimea câmpului de afişare de 5
caractere, din care 3 este numărul de caractere pe care se afişează partea zecimală
a numărului real. [18], [22]
Comanda “pause”
Introduce o pauză de câteve secunde sau aşteaptă apăsarea unei taste pentru a relua
execuţia următoare.
De exemplu comanda:
pause(n)
introduce în execuţia programului o întârziere de n secunde.
2.1. Să se determine valorile minime şi maxime ale unui vector şi ale unei matrice:
V = [ 1 2 –8 0 ]
M = [ 1 2 3 ; - 4 0 9 ; 13 7 –10 ]
A = max (V)
B = min (V)
C = max (M)
D = min (M)
se obţin rezultatele:
A=2 C = [ 13 7 9 ]
B = -8 D = [ -4 0 -10]
Pl = prod ( [ 1 3 9 2 ] )
Pl = 54
Pc = prod ( [ 1 3 9 2 ] ‘ )
Pc = 54
Pm = prod ([ 1 2 3 ; - 4 0 9 ; 13 7 –10 ] )
Pm = -52 0 -270
3x - 5, dacă ≤ 3
f (x ) =
5x 2 , dacă > 3
În Matlab avem:
if x <= 3
f = 3*x-5
else
f=5*x^2
end
2. 6.Să se genereze o matrice M , cu n linii şi n+1 coloane ale cărei elemente sunt:
1 , dacă k = p
G = − 1 , dacă k < p
0 , în rest
În Matlab avem:
n=2
for k=1:n
for p=1:m
if k==p
z(k,p)=1;
t=t + z(k,p)
elseif k<p
z (k,p)=-1
t=t + z(k,p)
else
z(k,p)=0
end
end
end
for g = 1: 3 : 10
h=2*g
end
x=2.678;
disp(['valoarea iteraţiei este', num2str(x), 'la acest nivel'])
afişează:
valoarea iteratiei este 2.678 la acest nivel.
sau
y=ones(3); disp(y)
afişează:
1 1 1
1 1 1
1 1 1