Sunteți pe pagina 1din 6

GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6. GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6.1. Vectori și matrice uzuale


În tabelele 6.1 și 6.2 sunt date instrucțiuni utilizate pentru generarea vectorilor și
matricelor, explicarea rezultatului utilizării acestora și exemple pentru diferite variante de
generare a vectorilor și matricelor. Exemplele se vor scrie într-un fișier function
L6_NumePrenume_1. După vizualizarea rezultatelor care se obțin prin comenzile cuprinse
într-o linie a tabelului, acestea vor fi transformate cu Text – Comment în comentariu pentru
ca la o nouă rulare, pentru o nouă secvență de exemple, să nu mai fie afișate.

Tabelul 6.1 Generarea vectorilor


Sintaxa Explicație Exemple
v=initial:pas:final Generează un vector linie v cu a=1:3:15
elementele începând de la initial
b=14:-2:4
la final, cu pasul egal cu pas.

v=initial:final Generează un vector linie v cu c=1:15


elementele începând de la initial
la final, cu pasul egal cu 1
(initial<=final).

v=linspace(initial,final,numar_de_elemente) Generează un vector linie v cu d=linspace(17,58,4)


elementele începând de la initial
e=linspace(pi,-pi,6)
la final, cu pas constant și având un
număr de elemente egal cu
numar_de_elemente.

v=linspace(initial,final) Generează un vector linie v cu f=linspace(3,200)


elementele începând de la initial
la final, cu pas constant și având un
număr de elemente egal cu 100.

v=logspace(initial,final,numar_de_elemente) Generează un vector linie v având h=logspace(2,1,5)


numar_de_elemente distribuite
k=logspace(0,pi,5)
logaritmic între 10initial și 10final .

v=logspace(initial,final) Generează un vector linie v având 50 g=logspace(1,2)


de elemente distribuite logaritmic între
r=logspace(1,pi)
10initial și 10final .

Observație: Dacă final=pi atunci


elementele vor fi distribuite logaritmic
între 10initial și  .

P a g . | 41
GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6.2. Generarea matricelor


Tabelul 6.2 Generarea matricelor
Sintaxa Explicație Exemplu

X=[ ] generează o matrice fără elemente X=[ ]

ones(n) Generează o matrice O1=ones(3),

ones(m,n) - de dimensiune n x n O2= ones(1,5)

ones(size(M)) - de dimensiune m x n O3= ones(5,1)

- de dimensiunea matricei M O4= ones(3,2)

cu toate elementele egale cu 1. A=[1 5 7; 3 6 8], O5=ones(size(A))

zeros(n) Generează matrice cu elementele Z1=zeros(3)


egale cu zero.
zeros(m,n) Z2=zeros(1,5)
zeros(size(M))
Z3=zeros(5,1)

Z4=zeros(3,2)

A=[1 5 7; 3 6 8], Z5=zeros(size(A))

eye(n) Generează matrice cu elementele E1= eye(3), E2= eye(2,3), E3= eye(3,2)
de pe diagonală egale cu unu și
eye(m,n) A= [1 5 7; 3 6 8], E4= eye(size(A))
celelalte elemente egale cu zero.
eye(size(M))

rand(n) Generează o matrice cu elemente R1=rand(3),


numere aleatoare, diferite la
rand(m,n) rand('seed',1234), R1=rand(3)
fiecare rulare, cu distribuție
rand(size(M)) uniformă (cu aceeași probabilitate) rand('seed',4321), R1=rand(3)
rand(’seed’,s), între 0 și 1. Dacă se dă sămânța s
(seed) se obțin aceleași numere la R2= rand(1,5), R3=rand(5,1), R4=rand(3,2)
fiecare nouă rulare a programului, A= [1 5 7; 3 6 8], R5= rand(size(A))
dar diferite dacă se modifică s.

a+(b-a)*rand(1,n) Generarea a n numere aleatoare cu t1=10, t2=20


distribuție uniformă între a și b
R6=t1+(t2-t1)*rand(1,10)

P a g . | 42
GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

randi(imax,n) Generează o matrice cu elemente 7=randi(25,3)


numere întregi aleatoare, cu
randi(imax,m,n) R8= randi(23,2,5)
distribuție uniformă (cu aceeași
randi(imax,size(M)) probabilitate) între 1 și imax.

randi([imin,imax],n) Generează o matrice cu elemente R9=randi([0,5],10,1)


numere întregi aleatoare, cu
randi([imin,imax],m,n) R10= randi([0,10],3,2)
distribuție uniformă (cu aceeași
randi([imin,imax],size(M)) probabilitate) între imin și imax. A= [1 5 7; 3 6 8], R11=randi([1,10],size(A))

randn(n) Generează matrice cu elemente R12=randn(3)


numere aleatoare cu distribuție
randn(m,n) R13= randn(1,5)
normală (gaussiană) având media
randn(size(M)) egală cu zero și abaterea standard R14=randn(5,1)
egală cu 1. R15= randn(3,2)

m+a*randn(1,n) Generează n valori aleatoare cu R16=1+2*randn(1,100)


distributie normala cu media m si
R17=10+5*randn(1,10)
abaterea standard a

P a g . | 43
GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6.3. Aplicații

Aplicațiile se vor rezolva într-un fișier function L6_NumePrenume_2.


6.3.1. Să se genereze un vector linie V1 cu 10 elemente, primul fiind egal cu 11,
cu pasul 1.
6.3.2. Să se genereze un vector V2 cu 20 elemente, primul fiind 0, ultimul 50 (cu
pas egal).
6.3.3. Să se genereze, pornind de la V2, fără a scrie elementele, un vector V3
care să cuprindă primele 10 elemente ale vectorului V2 (utilizând for...
end).
6.3.4. Să se genereze, pornind de la V2, fără a scrie elementele, un vector V4
care să cuprindă ultimele 10 elemente ale vectorului V2 (utilizând for...
end).
6.3.5. Cu ajutorul vectorilor V1, V2, V3, V4 să se genereze o matrice M1 cu 4
linii și 20 de coloane, fără a scrie elementele, care să aibă pe linii și
primele coloane elementele celor 4 vectori iar în rest elementele să fie
zero (se extind vectorii cu dimensiune mai mică pînă la dimensiunea
vectorului mai mare cu elemente nule utilizând V(n)=0, unde n este
dimensiunea necesară).
6.3.6. Să se genereze 4 matrice de dimensiuni (2,2), M2 cu toate elementele 0,
M3 cu elementele de pe diagonală 1 iar restul 0, M4 cu elementele egale
cu 1, M5 cu elementele numere aleatoare cu distribuție uniformă între 0
și 1.
6.3.7. Să se genereze, fără a scrie elementele, o matrice cu 2 linii și 8 coloane
M6 care să aibă pe coloane, în ordine, elementele matricelor M2, M3,
M4, M5.
6.3.8. Să se genereze, fără a scrie elementele, o matrice M7 cu 10 linii și 2
coloane care să aibă pe primele linii, în ordine, liniile matricelor M2, M3,
M4, M5 iar pe linia 9 să fie primele două elemente ale vectorului V1, iar
pe linia 10 ultimele două elemente ale vectorului V2.
6.3.9. Să se genereze o matrice M8 cu 4 linii și 4 coloane, cu elemente numere
întregi aleatoare cu distribuție uniformă, între 10 și 20.
6.3.10. Să se genereze o matrice M9 cu aceleași dimensiuni (4,4) care pe
diagonală să aibă elementele matricei M8, elementele situate deasupra
diagonalei să fie egale cu 1, iar celelalte elemente să fie zero.

P a g . | 44
GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6.4. Soluții

function L6_SuciuFlavia_2

V1=11:20

V2=linspace(0,50,20)

for k=1:10
V3(k)=V2(k)
end

for k=1:10
j=k+10
V4(k)=V2(j)
end

V1(20)=0
V3(20)=0
V4(20)=0
M1=[V1;V2;V3;V4]
M2=zeros(2)
M3=eye(2)
M4=ones(2)
M5=rand(2)
M6=[M2,M3,M4,M5]
M7=[M2;M3;M4;M5;V1(1),V1(2);V2(19),V2(20)]
M8=randi([10,20],4)

n=4
for i=1:n
m=n
for j=1:m
if i==j
M9(i,j)=M8(i,j)
elseif j>i
M9(i,j)=1
else
M9(i,j)=0
end
end
end

P a g . | 45
GENERAREA ȘI MANIPULAREA VECTORILOR ȘI MATRICELOR

6.5. Rezultate (afisate )


M6 =
0 0 1.0000 0 1.0000 1.0000 0.8147 0.1270
0 0 0 1.0000 1.0000 1.0000 0.9058 0.9134

M7 =
0 0
0 0
1.0000 0
0 1.0000
1.0000 1.0000
1.0000 1.0000
0.8147 0.1270
0.9058 0.9134
11.0000 12.0000
47.3684 50.0000

M8 =
16 20 20 14
11 20 15 20
13 11 18 18
16 20 11 20

M9 =
16 1 1 1
0 20 1 1
0 0 18 1
0 0 0 20

P a g . | 46

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