Documente Academic
Documente Profesional
Documente Cultură
1
2.3. Funcţii de control directoare, fişiere şi sistem de operare
cd - returnează sau schimbă directorul curent;
dir - listează conţinutul directorului curent;
delete - şterge fişierul specificat ca argument;
! - execută comanda DOS precizată ca argument.
2.4. Funcţii asociate ferestrei de comenzi
clc - şterge conţinutul ferestrei de comenzi.
2.5. Funcţii de control al variabilelor din memorie
disp(arg) - afişează o matrice sau un text specificate ca argument;
ex: >> for i=1:4
y=[i,5*i^2,2^i];
disp(y);
end
1 5 2
2 20 4
3 45 8
4 80 16
>> disp('Constructii')
Constructii
>>
clear - şterge toate variabilele şi funcţiile declarate în sesiunea în curs;
clear a b - şterge toate variabilele a şi b;
size(arg) - returnează dimensiunea unei matrice specificată ca argument;
ex: >> a=[1 2;3 4;5 6];
>> b=size(a)
b=
3 2
length(arg) - returnează lungimea maximă a matricei specificată ca argument sau
lungimea vectorului specificat;
ex: >> x=length(a);
x=
3
>> y= length(b)
y=
2
2
save - salvează variabilele curente în fişierul specificat;
sintaxa: load/save fişier[.ext][-format];
ex: >> clear;
>> a=[1 2;3 4];
>> b=[5 6;7 8];
>> save mat_ab.dat –ascii;
>> load mat_ab.dat;
>> ab=mat_ab
ab =
1 2
3 4
5 6
7 8
3 π 0 4 1
1 2
A= (2x2) B = 2 7 1 9 (3x4) C = 2 (3x1)
3 4 5 8 6 3
3
D = [1 3 5 7] (1x4) E = [7] (1x1)
Notaţia MATLAB pentru o matrice este de forma a(i,j), iar referirea la un element al
matricei se face prin notaţia x=a(2,2), ceea ce înseamnă x=4.
5.2. Definirea matricelor simple
Se poate face prin:
a) Introducerea explicită a listei elementelor într-unul din formatele:
a=[1 2;3 4] sau a=[1,2;3,4] sau a=[1 2Enter3,4];
separatorul dintre coloane (dintre elementele unei linii) este spaţiul sau (,)
separatorul dintre linii (dintre elementele unei coloane) este (;) sau Enter;
ex: >> x=[1,2,3,4]
x=
3
1 2 3 4
>> y=[1;2;3;4]
y=
1
2
3
4
b) Generarea prin instrucţiuni şi funcţii
ex: >> clear;
>> k=3;b(k)=5
b=
0 0 5
>> t=1:2:7
t=
1 3 5 7
>> r=randn(2,3)*17
r=
-7.3536 2.1306 -19.4900
-28.3149 4.8905 20.2456
c) Încărcarea dintr-un fişier de date (vezi exemplul de la §4).
5.3. Elementele matricelor
Pot fi numere reale sau complexe şi orice expresie MATLAB.
ex: >> clear;
>> a=[-1.3 sqrt(3) (1*2*3)/5
a=
-1.3000 1.7321 1.2000
>> b=a(2)
b=
1.7321
Matricea sau vectorul poate fi extins prin introducerea unui element şi completarea cu zero
a elementelor nedefinite.
ex: >> a(5)=abs(a(1))
a=
-1.3000 1.7321 1.2000 0 1.3000
>> c=[1 2;3 4];
>> c(2,4)=6
c=
1 2 0 0
3 4 0 6
O matrice mare poate fi construită din matrice mici folosite ca elemente.
ex: >> clear;
>> a1=[1 2;3 4]; a2=[5 6;7 8];
>> b=[a1;a2]
b=
1 2
3 4
4
5 6
7 8
>> c=[a1 a2]
c=
1 2 5 6
3 4 7 8
O matrice poate fi extrasă dintr-o matrice mai mare folosind semnul (:) într-o expresie de
forma:
>> d=c(:,2:4)
d=
2 5 6
4 7 8
adică matricea d se formează din c extrăgând toate liniile şi coloanele 2 la 4.
5.4. Declaraţii şi variabile – elemente de sintaxă
Instrucţiunea de atribuire joacă şi rolul de declaraţie. Are două forme:
a) variabilă=expresie sau
b) expresie.
În cazul al doilea valoarea expresiei este atribuită variabilei speciale ans.
ex: >> 3/4
ans =
0.7500
O expresie se compune din operanzi, operatori şi funcţii. În urma evaluării expresiei se
obţine o matrice, care se atribuie unei variabile.
Orice instrucţiune se termină cu:
a) Enter sau
b) ;Enter
În primul caz instrucţiunea se execută cu tipărirea rezultatului, iar în al doilea fără tipărire.
ex: >> a=[1 2;3 4] Enter cazul a)
a=
1 2
3 4
>> b=[5 6;7 8]; Enter cazul b)
>>
Tastarea numelui unei variabile urmat de Enter afişează valoarea acesteia.
Dacă expresia are o lungime foarte mare se foloseşte combinaţia: spaţiu ... Enter pentru
continuare pe linia următoare.
Spaţiile dintre operanzi şi operatori sunt opţionale.
Numele de variabilă sau funcţie este format din litere, cifre şi underline; primul caracter
este literă, iar lungimea maximă este de 19 caractere.
MATLAB este case sensitive în mod implicit şi poate comuta în modul nesenzitiv cu
comanda:
>> casesen off cu revenire la:
>> casesen on
5.5. Numere şi expresii aritmetice
5
Reprezentarea numerelor se poate face în virgulă fixă:
14 =14 -123 = -123 1.02437 = 1.0244 -.0345 = -0.0345
sau în virgulă mobilă:
1.23456e+2 = 123.4560 234.567e-3 = 0.2346
Ordinul de mărime este 10 pentru valori supraunitare şi 10-308 pentru valori subunitare.
308
6
Forma 1: Forma 2:
if expresie_logică if expresie_logică
secvenţa_instrucţiuni; secvenţa_instrucţiuni_1;
end; else
secvenţa_instrucţiuni_2;
end;
Expresia logică conţine operanzi şi operatori aritmetici, relaţionali şi logici.
7
if d<0
disp('Ec.nu are rad.R')
else
x1=(-b-sqrt(d))/(2*a)
x2=(-b+sqrt(d))/(2*a)
end
end
final −initial
N= +1
pas
Exemplu:
Fie script-ul niv_trig.m cu următorul conţinut:
% Nivelment trigonometric
clear;
ui = [312.25,288.45,304.63,314.75,306.15,104.55,86.32,114.54,123.56];
di = [123.52,98.45,101.32,88.95,114.24,78.50,141.25,94.25,106.25];
cc = 640;
dc = 0;
for i=1:9
ui(i) = (abs(ui(i)-200)-100)*pi/200;
do(i) = di(i)*cos(ui(i))^2;
dn(i) = do(i)*tan(ui(i));
dc = dc+do(i);
cc = cc+dn(i);
end;
dist=['Distanta cumulata:',num2str(dc)];
cota=['Cota cumulata :',num2str(cc)];
disp(dist);
8
disp(cota);
9
b=6 h=1.3889
b=6.5 h=1.2821
b=7 h=1.1905
b=7.5 h=1.1111
b=8 h=1.0417
>>
Şirul de caractere este o constantă reprezentată pe un şir de octeţi, fiecare conţinând codul
ASCII al unui caracter. Pe linia de program şirul este constituit din unul sau mai multe caractere
delimitate de apostrofuri.
7.1. Funcţii generale
abs(arg) - converteşte şirul de caractere specificat ca argument în valori numerice
ale codului ASCII
ex: >> y=abs('ABCDabcd0123')
y=
65 66 67 68 97 98 99 100 48 49 50 51
>>
setstr(arg) - converteşte valori numerice ale codului ASCII în şir de caractere
ex: >> cif=[48:57];
>> cifre=setstr(cif)
cifre =
0123456789
>> lima=[65:90];
>> literemari=setstr(lima)
literemari =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
>> limi=[97:122];
>> literemici=setstr(limi)
literemici =
abcdefghijklmnopqrstuvwxyz
>>
7.2. Conversia şir-număr şi număr-şir
num2str(arg) - converteşte un număr reprezentat intern într-un şir de caractere
ex: >> npi=['Valoarea lui Pi este:',num2str(pi)]
npi =
Valoarea lui Pi este:3.1416
>>
str2 num(arg) - converteşte un şir de caractere în număr
ex: >> n123='123';
>> x=5+str2num(n123)
x=
128
10
>>
11
ex: >> x=linspace(1,7,4)
x=
1 3 5 7
>> x=linspace(1,11,4)
x=
1.0000 4.3333 7.6667 11.0000
>>
Menţinerea pasului constant se poate obţine fără funcţia linspace utilizând forma:
amin:pas:amax
12