Documente Academic
Documente Profesional
Documente Cultură
MATLAB
matrici
operatori logici si relationali
instructiuni de control
Vectori
Scrieti utmatoarele comenzi ptr a crea vectorii:
X= [1 2 3 4 5] Y=[6; 7; 8; 9; 10] size(Y) Z= Y’ size(Z)
W=[X Z] T=[ X; Z] M = [2 : 0.5 : 4]
Selectia din vector:
a=W(5) b =W(5:9) c=W(2:2:8) d= W([3 5 2 9])
Folosind operatorul : creati vectorii v1,v2,v3 si v4 :
1) 2, 4, 6, 8,...100 dar cu functia linspace()
2) 50, 48, 46,...-50
3) 1, 1/2, 1/3,...1/100
4) 0, 1/2, 2/3, 3/4...99/100
5)Folosind end (ultimul index al unui vector/matrice)
ptr un anumit vector, afisati vectorul elementelor
impare si vectorul elementelor in ordine inversa.
Ptr matricea M de la a) inversati coloanele, apoi liniile.
Vectori - Rezolvare
2)>> v2=50:-2:-50
3)>> vt=1:100; v3=1./vt
4)>> vr=0:99; vp=1:100; v4=vr./vp
5)>> v5=1:100; vi=v5(1: 2: end)
>>vinv=v5(end: -1: 1)
>> [nl,nc]=size(M) cc=M(:, nc:-1:1) ll=M(nl:-1:1, :)
Matrici
Se da matricea M = [1 2 3 4;
2 4 6 8;
-1 -2 -3 -4;
0 5 0 7]
M= 1 2 3 4 5
11 12 13 14 15
21 22 23 24 25
M= 5 5 3 4 5
5 5 13 14 15
21 22 23 24 25
Matrici- Rezolvare
Cream vectorul v :
>> v=[1 2 3 4 5]
Cream matricea M:
>> M = [v ; v+10; v+20;]
Extragerea primei linii:
>> M(1:2, 1:2) =5
Generarea matricilor cu numere aleatoare
Utilizand:
functia rand, pentru numere aleatoare, cu distributie
uniforma in intervalul (0,1) sau
functia randn, pentru numere aleatoare cu distributie
normala (Gaussiana), de medie zero si varianta unu.
functia randi pentru numere intregi intr-un anumit
interval ( ultimul parametru specificand dimensiunea)
Instructiunile pentru generarea matricelor cu numere
aleatoare au formele :
x = rand(n), y = rand(m,n), z = rand(size(A)),
v=randi([5,10] ,n) sau vv = randi([5,10], m,n)
unde m si n sunt scalari, iar A este o matrice oarecare.
>> a= magic(3)
>> aa= rand(3,4)
>> b=rand(3,5)
>> bb=rand(4,4)
>> c=[a,b]
>> d= cat(2,a,b)
>> e=horzcat(aa,b,a)
>> f=cat(1,aa,bb)
Matrici
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
-2 0 0 0 0 1
0 -2 0 0 0 0
0 0 -2 0 0 0
Matrici diagonale - Rezolvare diag(v,k)
>> D=-2*diag(ones(1,3),-3)+diag(ones(1,4),2)
Exercitiu 4
Norma p a (modulul, marimea) vectorului v este :
Prin unghiul intre vectorii v si w se intelege unghiul mic
determinat de sensurile pozitive ale celor doi vectori:
Exercitiu 5
Creati matricile:
A= 1 0 -2 10 0 B= 2 0 -4 20 0
2 0 1 1 1 -10 60 -20 0 2
-1 3 2 0 0 -1 3 2 0 0
-1 2 -2 3 3 -2 6 4 0 0
Introduceti matricile A si B:
>> A=[1 0 -2 10 0; 2 0 1 1 1; -1 3 2 0 0; -1 2 -2 3 3];
>> B=[2 0 -4 20 0; -10 60 -20 0 2; 4 0 2 2 2; -2 6 4 0 0];
Elementele pozitive din A:
>> A(A>0) incercati si A>0
Elementele egale din A si B
>> A==B A(A==B)
Elementele din A din intervalul (1,20)
>> A((A>1)&(A<20))
Elementele din afara intervalului (1,20)
>> A(~((A>1)& (A<20))) sau A((A<=1)|(A>=20))
Operatori logici- Exercitiu 7
Introduceti vectorul x:
>> x = [3 15 9 12 -1 0 -12 9 6 1]
a) >> a=x;a(x>0)=33
b) >> b=x;b(~rem(x,3))=7
c) >> c=x;c(~rem(x,2))=5*c(~rem(x,2))
Operatori logici
Se da vectorul x=[6 25 1 2 -1 0 -7 50 4 9].
Determinai comanda care:
In vectorul u se afla indicii elementelor din v si h ce
verifica aceasta conditie. Evident, indicii corespunzatori
din t ne dau timpii in care conditiile sunt indeplinite.
Acesti timpi apartin unui interval dat de primul si
ultimul indice din u.
Determinm capetele acestui interval :
>> t1=t(u(1))
>> t2=t(u(end))
Solutia problemei este intervalul sol= [t1,t2]
>> sol= [0.85, 1.78]
Calculam si salvam- Exercitiu 9