Vous êtes sur la page 1sur 24

Vectores y Matrices

Universidad Nacional de San Agustn de Arequipa

CURSO DE MATLAB BASICO


CAPITULO II
VECTORES Y MATRICES
(ARRAYS)
El array (arreglo) es una estructura fundamental que MatLab utiliza para almacenar y
manipular datos.
En los arreglos unidimensionales (vectores) los nmeros estn agrupados en filas o
columnas.
En los arrays bidimensionales (matrices) los elementos se distribuyen en filas y
columnas.
2.1 Creacin de Vectores
Un vector es una sucesin de nmeros (elementos) distribuidos en una fila o
columna.
a) Creacin de un vector a partir de una lista
Se deber teclear los nmeros (elementos) dentro de corchetes [ ]
Nombre_variable = [elementos del vector]
Vector fila: entre cada elemento una coma o espacio, dentro de corchetes
Vector columna: entre cada elemento teclearse punto y coma (;)
Ejemplo N 2.1: Dados los datos de una tabla demogrfica
Ao
1984
1986
1988
1990
1992
1994
1996
Poblaci
127
130
136
145
158
178
211
n
(millones)
Generar un vector fila y un vector columna:
Solucin:
>> yr=[2001 2002 2003 2004 2005 2006]
yr =
2001
2002
2003
2004
>> yr1=[2007,2008,2009]
yr1 =
2007
2008
2009
Generar un vector columna
>> pob=[127;130;140;156;163;171]
pob =
127
130
140
156
163
171

2005

2006

>> pob1=[130
140
150]
pob1 =
130
140
150

b) Creacin de un vector con distancia constante a partir de la


especificacin del primer trmino, del intervalo y el ltimo trmino
La diferencia entre los elementos es siempre la misma
Nombre_variable = [m:q:n]
Nombre_variable = m:q:n

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

Ejemplo N 2.2: Generar un vector fila y vector columna con valores de 10 a 18,
con incrementos de 1.
Solucin:
>> a=[10:18]
>> a=[10:18]'
a=
a=
10
11
10 11 12 13 14 15 16 17 18
12
13
14
15
16
17
18
Ejemplo N 2.3: Generar los siguientes vectores:
a) Vector fila con valores entre 1 a 13, con incrementos de 2
b) Vector fila con valores entre 1.5 a 2.1, con incrementos de 0.1
c) Vector columna con valores entre -10 a -8.5; con incrementos de 0.2
Solucin
a)>> x=[1:2:13]
x=
1 3 5 7

11

13

b)>> y=[1.5:0.1:2.1]
y=
1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 2.1000

c)>> s=[-10:0.2:8.5]'
s=
-10.0000
-9.8000
-9.6000
-9.4000
-9.2000
-9.0000
-8.8000
-8.6000

c) Creacin de un vector con intervalo constante a partir de la


especificacin del primer y ltimo trmino, as como el nmero de
trminos.
Nombre_variable = linspace(xi,xf,n)
Ejemplo N2.4: Generar un vector de 6 elementos , empezando en 0 y
terminando en 8
>> va=linspace(0,8,6)
va =
0 1.6000 3.2000 4.8000 6.4000 8.0000
Ejemplo N2.5: Generar un vector de 11 elementos empezando en 30 y
terminando en 10
>> vb=linspace(30,10,11)
vb =
30 28 26 24 22 20 18 16 14 12 10
Ejemplo N2.6: Generar un vector fila de 5 elementos con nmero aleatorios
>> rand(1,5)
ans =
Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

0.3093

0.8385

0.5681

0.3704

0.7027

Ejemplo N2.7: generar una vector columna de 5 elementos con nmeros


aleatorios
>> rand(5,1)
ans =
0.3420
0.2897
0.3412
0.5341
0.7271
Nombre_variable = logspace(a,b)
Genera un vector fila de de 50 puntos de logaritmos entre 10 y 10b.
>> logspace(1,2)
ans =
Columns 1 through 5
10.00
10.48
10.99
11.51
12.07 ..
Columns 46 through 50
82.86
86.85

91.03

95.41

100.00

Nombre_variable = logspace(a,b,n)
Genera un vector fila de n elementos de logaritmos entre 10 y 10b
>> logspace(1,2,5)
ans =
10.00
17.78
31.62
56.23
100.00
>> y=logspace(1,3,3)
y=
10
100
1000
r=logspace(1,4,4)
r=
10
100
>> format bank
>> s=logspace(1,3,4)
s=
10.00
46.42

1000

10000

215.44

1000.00

2.2 Creacin de Matrices


Una matriz se define por; el nmero de filas y por el nmero de columnas.
As una matriz de m x n, tiene m filas y n columnas, y el producto de m por n nos
da el tamao de la matriz
Nombre_variable = [elementos 1ra fila; elementos 2da fila elementos 3ra fila;
elementos 4ta fila; ..; elementos ltima fila]
Los elementos de una fila pueden estar separados con coma (,) o por un espacio.
Se debe colocar punto y coma (;) despus de cada fila.
Elementos pueden ser:
Nmeros, expresiones matemticas, variables y funciones
Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

Ejemplo N2.8: Generar una matriz 3x3, con elementos nmeros cualesquiera.
Usar (;) despus de cada fila
>> A=[5 35 43;4 76 81;21 32 40]
A=
5 35 43
4 76 81
21 32 40
Ejemplo N2.9: Generar una matriz de 3X3, con elementos nmeros cualesquiera.
Usar enter despus de cada fila
>> B=[20 30 40
23 56 34
44 55 66]

B=
20
23
44

30
56
55

40
34
66

Ejemplo N2.10: Generar una matriz 2 x 3; con elementos que son variables y
expresiones matemticas, siguientes:

cd 6; e 3; h 4

j cd * h; k cos( pi / 4)
n h2 ; h * e
Solucin:
>> cd=6;e=3;h=4;
>> M=[e,cd*h,cos(pi/4);h^2,sqrt(h*e),14]
M=
3.0000 24.0000 0.7071
16.0000 3.4641 14.0000
Ejemplo N2.11: Generar una matriz 4 x 6; usando el comando linespace para las
filas, use otras formas de ingreso vectorial para filas
Solucin:
>> C=[1:2:11;0:5:25;linspace(10,20,6);30 40 50 60 70 80]
C=
1 3 5 7 9 11
0 5 10 15 20 25
10 12 14 16 18 20
30 40 50 60 70 80
2.2.1

Comandos zeros, ones y eye


Comandos se utilizan para crear matrices que tiene elementos con valores
especiales.
Comando zeros(m,n): crea matriz con todos los elementos ceros
Comando ones(m,n): crea matriz con todos los elementos unos
Comando eye(n): crea una matriz cuadrada cuya diagonal son unos y el
resto son ceros
Ejemplo N2.12: Generar las siguientes matrices:
a) Matriz de 3x4, todos los elementos son ceros
b) Matriz 4x3, todos los elementos son unos

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

c) Matriz cuadrada de 5x5, la diagonal debe ser unos, el resto de


elementos son ceros
Solucin:
>> zr=zeros(3,4)
zr =
0 0 0 0
0 0 0 0
0 0 0 0

>> nu=ones(4,3)
nu =
1 1 1
1 1 1
1 1 1
1 1 1

>> dia=eye(5)
dia =
1 0 0
0 1 0
0 0 1
0 0 0
0 0 0

0
0
0
1
0

0
0
0
0
1

2.3 Operador de transposicin


Nos permite transformar las filas en columnas y viceversa
Este operador se expresa con una comilla simple ()
Ejemplo N2.13: Sea el vector fila B= [4 6 8]; transformar a vector columna
>> AA=[4 6 8]
AA =
4 6 8

>> AA=[4 6 8]'


AA =
4
6
8

Ejemplo N2.14: Sea el vector columna anterior, transformar a vector fila


>> BB=AA'
BB =
4 6 8
Ejemplo N2.15: Generar una matriz de 3 x 2, usando el comando rand, luego
transformar las filas en columnas. Usar variables para definir las matrices
>> A=rand(3,2)
A=
0.5226 0.9797
0.8801 0.2714
0.1730 0.2523

>> B=A'
B=
0.5226
0.9797

0.8801
0.2714

0.1730
0.2523

MANIPULACION DE ARRAYS
2.4 Extraccin de elementos
Los elementos de un array (vector o matriz) se pueden manipular individualmente
o en grupo.
Se pueden extraer elementos de los vectores o de las matrices desde alguna
posicin(es) especfica (s), para una posterior operacin.
2.4.1

Vectores
La direccin de un elemento de un vector es su posicin en la Fila o columna

ve=[10 20 30 40]
ve(2)=20

ve(4)=40

ve(k); donde k es la posicin del elemento k del vector ve

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

ve(n): Una posicin


ve(n:m): posiciones adjuntas
ve([a c e]): varias posiciones no adjuntas
Ejemplo N2.16: Generar un vector de 7 elementos, iniciando con 1 y
terminando en 10 (usar linspace). Realizar las siguientes operaciones:
a) Extraer la posicin 2, 3 y 4
b) Asignar a variables las posiciones 2 y 7
c) Efectuar una suma de los elementos 2 y 4

pos(1)2 pos (7)

d) Efectuar la expresin:
e) Cambiar los valores del vector original, en las posiciones 3 con 400 y en la
posicin 1 con 100
Solucin:
>> ve=linspace(1,10,7)
ve =
1.0000 2.5000 4.0000
a) >> ve(2)
ans =
2.5000

5.5000

>> ve(3),ve(4)
ans =
4
ans =
5.5000
b) Se pueden asignar a variables
>> valor2=ve(2)
valor2 =
2.5000

7.0000 8.5000 10.0000


>> valor7=ve(7)
valor7 =
10
c) Se pueden efectuar operaciones
matemticas
> suma=ve(2)+ve(4)
suma =
8
d) >> valor=ve(1)^2+sqrt(ve(7))
valor =
4.1623

e) Se pueden cambiar los valores del vector


>> ve(3)=400
ve =
1.0000 2.5000 400.0000 5.5000 7.0000
>> ve(1)=100
ve =
100.0000 2.5000 400.0000

5.5000

7.0000

8.5000 10.0000

8.5000 10.0000

Uso de los dos puntos (:) en la manipulacin de vectores


Los dos puntos se usan para acceder a un rango de elementos dentro de un
vector
va(:): se refiera a todos los elementos del vector va (columna o fila)
va(n:m): se refiere a los elementos comprendidos entre las posiciones
nym
Ejemplo N2.17: Extraer posiciones adjuntas
Generar un vector fila iniciando en 1 hasta 20, con incrementos de 2. Extraer
los elementos de la posicin 3 a la 7
Solucin:
>> vb=[1:2:20]
vb =
1 3 5 7 9 11 13 15 17 19
Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

>> u=vb(3:7)
u=
5 7 9

Crea un vector a partir de los


elementos 3 al 7 del vector vb
11

13

Ejemplo N2.18: Extraer posiciones NO adjuntas


Generar un vector fila iniciando en 10 hasta 70, con incrementos de 10. Extraer
las posiciones 1 3 y 6
Solucin:
>> v=[10:10:70]
v=
10 20 30 40
2.4.2

50

60

70

>> v([1 3 6])


ans =
10 30 60

Matrices
La direccin de un elemento de una matriz est definida a partir del nmero
de fila (k) y columna (p) de la misma matriz

Para el caso de elementos adyacentes se tienen los siguientes


formatos:
MAT(k,p): Un solo elemento
MAT(a:b,:): filas adyacentes
MAT(:,c:d): columnas adyacentes
MAT(a:B,c:d):Interseccin de filas y columnas adyacentes
Para el caso de elementos no adyacentes se tienen los siguientes
formatos:
MAT([a c],d): Filas a y c, de la columna d
MAT([a c],:): Filas a y c, con todas las columnas
MAT([a c],[d f]): Interseccin de filas a y c con columnas d yf
Ejemplo N2.19: Generar la matriz que se muestra adjunta, y efectuar las
siguientes operaciones:
MAT(1,1)
a) Extraer el elemento (1,1)
MAT(2,3)
b) Extraer el elemento (2,3)
3 11 6 5
c) Cambiar el elemento (3,1) por el valor 130
d) Sumar el elemento (2,4) con el elemento
7 10 2
4
(1,2)
Solucin:
> MAT=[3 11 6 5;4 7 10 2;13 9 0 8]
MAT =
3 11 6 5
4 7 10 2
13 9 0 8
a) >> MAT(3,1)
ans =
13
b) >> MAT(2,3)

Ing. Hctor G. Bolaos Sosa

13

c) Se pueden cambiar el valor de un


solo elemento de la matriz
>> MAT(3,1)=130
MAT =
3 11 6 5
4 7 10 2
130 9 0 8
d) Se pueden efectuar operaciones
matemticas
>> MAT(2,4)+MAT(1,2)

Vectores y Matrices

ans =
10

ans =
13

Uso de los dos puntos (:) en la manipulacin de matrices


Los dos puntos se usan para acceder a un rango de elementos dentro de una
matriz
A(:,n): Se refiere a los elementos de la columna n de la matriz A
A(n,:): Se refiere a los elementos de la fila n de la matriz A
A(:,m:n): Se refiere a los elementos entre las columnas m y n de la matriz A
A(m:n,:): Se refiere a los elementos entre las filas m y n de la matriz A
A(m:n,p:q): Se refiere a los elementos de la fila m a la n, y a los de la
columna p a la q de la matriz A
Ejemplo N2.20: Elementos Adyacentes
Sea la matriz que se muestra, desarrollar lo siguiente:
a) Extraer elementos de la tercera columna
b) Extraer elementos de la segunda fila
c) Extraer elementos de la ltima columna
d) Extraer elementos de la ltima fila
e) Extraer elementos de las filas 2 y 3
f) Extraer elementos de las columnas 2 y 3
g) Extraer elementos de las filas 1 y 2, y las columnas 2 y 3
Solucin
>> MAT=[3 11 6 5;4 7 10 2;13 9 0 8]
MAT =
3 11 6 5
4 7 10 2
13 9 0 8
a)>> A=MAT(:,3)
Define el vector A, a partir
A=
de los elementos de la
6
tercera columna de la matriz
10
MAT
0

b)>> B=MAT(2,:)
B=
4 7 10 2
c)>> D=MAT(:,end)
D=
5
2
8

d)>> E=MAT(end,:)
E=
13 9 0 8
Ing. Hctor G. Bolaos Sosa

Define el vector B, a partir


de los elementos de la
segunda fila de la matriz
MAT
Define el vector D, a partir
de la ltima columna de la
matriz MAT

Define el vector D, a partir


de la ltima fila de la matriz
MAT

11

10

13

Columna 3

11

10

13

Columna end

11

10

13

Vectores y Matrices

f)>> G=MAT(:,2:3)
G=
11 6
7 10
9 0
h)>> H=MAT(1:2,2:3)
H=
11 6
7 10

Filas 2 a 3

Define el vector F, a partir de


los elementos de las filas 2 y
3 de la matriz MAT

11

10

13

Define el vector G, a partir


de los elementos de las
columnas 2 y 3 de la matriz
MAT
Define el vector H, a partir
de los elementos de las filas
1 a 2, columnas 2 a 3 de la
matriz MAT. Los elementos
resultantes
son
los
intersectados

Columnas 2 a 3

Filas 1 a 2

e)>> F=MAT(2:3,:)
F=
4 7 10 2
13 9 0 8

11

10

13

Ejemplo N2.21: Extraccin de elementos NO adyacentes


Generar una matriz de 4 x 4 con nmeros aleatorios, estos deben
multiplicarse por el escalar 10. Desarrollar lo siguiente:
a) Extraer los elementos de la interseccin entre las filas 1 y 3; y de la
columna 2
b) Extraer todos los elementos de las filas 1 y 3.
c) Extraer los elementos de las intersecciones de las filas 2 y 3; y de las
columnas 2 y 4
d) Extraer los elementos de las intersecciones de las filas 1 y 3; y de las
columnas 2 y 4
Solucin:
>> A=rand(4)*10
A=
1.12
6.64
7.08
9.03
4.43
7.24
7.84
4.51
4.67
2.82
9.86
8.05
0.15
2.62
4.73
8.29
a)>> A([1 3],2)
ans =
6.64
2.82

Ing. Hctor G. Bolaos Sosa

1.12

6.64

7.08

9.03

4.43

7.24

7.84

4.51

4.67

2.82

9.86

8.05

0.15

2.62

4.73

8.29

Vectores y Matrices

b)>> A([1 3],:)


ans =
1.12
9.03
4.67
8.05

10

1.12

6.64

7.08

9.03

6.64

7.08

4.43

7.24

7.84

4.51

2.82

9.86

4.67

2.82

9.86

8.05

0.15

2.62

4.73

8.29

1.12

6.64

7.08

9.03

4.43

7.24

7.84

4.51

4.67

2.82

9.86

8.05

0.15

2.62

4.73

8.29

1.12

6.64

7.08

9.03

4.43

7.24

7.84

4.51

4.67

2.82

9.86

8.05

0.15

2.62

4.73

8.29

c)>> A([2 3],[2 4])


ans =
7.24
4.51
2.82
8.05

d)>> A([1 3],[2 4])


ans =
6.64
9.03
2.82
8.05

Ejemplo N2.22: Elementos No adyacentes


Generar una matriz cuadrada de 5x5, usando la funcin rand, desarrollar las
siguientes operaciones:
a) Extraer las filas 1, 3 y 5
b) Extraer las filas 1, 3 y 5, de la columna 2
c) Extraer las filas 1, 3 y 5, de las columnas 2 a la 4
Solucin:
>> A=rand(5)
A=
0.4447 0.1763
0.6154 0.4057
0.7919 0.9355
0.9218 0.9169
0.7382 0.4103
>> A([1 3 5],:)
ans =
0.4447 0.1763
0.7919 0.9355
0.7382 0.4103
>> A([1 3 5],2)
ans =
0.1763
0.9355
0.4103
>> A([1 3 5],2:4)
ans =
0.1763 0.8936
0.9355 0.3529
0.4103 0.0099

Ing. Hctor G. Bolaos Sosa

0.8936
0.0579
0.3529
0.8132
0.0099

0.1389
0.2028
0.1987
0.6038
0.2722

0.1988
0.0153
0.7468
0.4451
0.9318

0.8936
0.3529
0.0099

0.1389
0.1987
0.2722

0.1988
0.7468
0.9318

0.1389
0.1987
0.2722

Vectores y Matrices

11

2.5 Creacin de nuevos(as) vectores y matrices a partir de otras(os) existentes


Se debe teclear los elementos seleccionados (as como las filas y columnas)
Nuevo_vector=Vector(a:e)
Nuevo vector que tiene elementos
desde posicin a hasta posicin e
Nuevo_vector=Vector([a c e])
Nuevo vector que tiene
elementos de posiciones a, c y e
Ejemplo N2.23: Generar un vector vini de 5 elementos, iniciando en 10 hasta el
50, con incrementos de 10.
a) A partir del vector inicial vini, generar otro vector V1, que contenga los
elementos desde la posicin 3 la 5
b) A partir del vector inicial vini, generar otro vector V2, que contenga los
elementos de las posiciones 1,3 y 5
Solucin:
>> vini=[10:10:50]
b)>> V2=vini([1 3 5])
vini =
V2 =
10 20 30 40 50
10 30 50
a) >> V1=vini(3:5)
V1 =
30 40 50
Ejemplo N2.24: Generar un vector de 11 elementos, luego crear un nuevo vector a
partir del tercero, quinto y del sptimo al dcimo elemento
>> v=4:3:34
>> u=v([3,5,7:10])
v=
u=
4 7 10 13 16 19 22 25 28 31 34
10 16 22 25 28 31
Nueva matriz = Matriz(filas, columnas)
Para generar matrices con
elementos adyacentes
Nueva Matriz = Matriz([filas],[columnas])
Para generar matrices
con elementos NO adyacentes
Ejemplo N2.25: Generar una matriz A de 4x4, usando el comando rand, luego
efectuar las siguientes operaciones:
a) A partir de la matriz inicial A, generar el vector M1 que tenga todos los
elementos de la primera fila.
b) A partir de la matriz inicial A, generar el vector M2 que tenga todos los
elementos de la ultima fila.
c) A partir de la matriz inicial A, generar la matriz M3 que tenga todos los
elementos de las filas 2 a la 4.
d) A partir de la matriz inicial A, generar la matriz M4 que tenga todos los
elementos de las filas 2 y la 4.
e) A partir de la matriz inicial A, generar la matriz M5 que tenga todos los
elementos de la interseccin de las filas 1 y 3, con las columnas 1 y 4
>> A=rand(4)
A=
0.4660 0.2026
0.4186 0.6721
0.8462 0.8381
0.5252 0.0196

0.6813
0.3795
0.8318
0.5028

Ing. Hctor G. Bolaos Sosa

0.7095
0.4289
0.3046
0.1897

c)>> M3=A(2:4,:)
M3 =
0.4186 0.6721
0.8462 0.8381
0.5252 0.0196

0.3795
0.8318
0.5028

0.4289
0.3046
0.1897

Vectores y Matrices

a)> M1=A(1,:)
M1 =
0.4660 0.2026
b)>> M2=A(:,end)
M2 =
0.7095
0.4289
0.3046
0.1897

12

0.6813

0.7095

d)>> M4=A([2 4],:)


M4 =
0.4186 0.6721
0.5252 0.0196

0.3795
0.5028

0.4289
0.1897

e)>> M5=A([1 3],[1 4])


M5 =
0.4660 0.7095
0.8462 0.3046

Ejemplo N2.26: Generar una matriz A de 3 x 3, usando el comando rand, a partir


de esta matriz crear una matriz B que contenga los elementos de las columnas 1 y
3
>> A=rand(3)
>> B=A(:,[1,3])
A=
B=
0.8757 0.0118 0.2987
0.8757 0.2987
0.7373 0.8939 0.6614
0.7373 0.6614
0.1365 0.1991 0.2844
0.1365 0.2844
Ejemplo N2.27: Generar una matriz C de 3 x 3, usando el comando rand, a partir
de esta matriz crear una matriz D que contenga los elementos de las filas 1 y 3
Solucin:
>> C=rand(3)
>> D=C([1,3],:)
C=
D=
0.4692 0.5828 0.3340
0.4692 0.5828 0.3340
0.0648 0.4235 0.4329
0.9883 0.5155 0.2259
0.9883 0.5155 0.2259
>>D=C([1,3],:)
D=
0.4692 0.5828 0.3340
0.9883 0.5155 0.2259
Ejemplo N2.28: Generar una matriz 3 x 4; luego deber generar otra matriz B que
contenga los elementos de las filas 1 y 3; as como las columnas 2 y 3; los
elementos resultantes son intersectados
MAT =
>> B=MAT([1,3],[2,3])
3 11 6 5
B=
4 7 10 2
11 6
30 9 0 8
9 0
2.6 Adicin de nuevos elementos a variables ya creadas
Una variable que ya sido creada se le puede alterar insertando nuevos elementos.
2.6.1

Adicin de elementos a un vector


Un vector que tiene n elementos, se le puede aadir nuevos elementos.
Debe existir una correspondencia entre las posiciones a adicionar y la
cantidad de elementos aadidos

v(a:e)=[e1 e2 e3 e4 e5] Adiciona 5 elementos desde la posicin


a hasta a posicin e
v([a c])=[e1 e3] Adiciona 2 elementos en las posiciones a y c
Ejemplo N2.29: Posiciones adyacentes
Definir un vector con 4 elementos, aadir 3 elementos, desde la posicin 5

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

13

>> v=[1:4]
v=
1 2 3 4
>> v(5:7)=[10,20,30]
v=
1 2 3 4 10

Se crea el vector v de 4 elementos.


Luego al mismo vector v, se le
aade 3 elementos (10,20 y 30),
quedando finalmente un vector de 7
elementos
20

30

Ejemplo N2.30: Dos o ms posiciones consecutivas


Definir un vector de 5 elementos, insertar nuevos elementos en las
posiciones 2 y 3.
> a=[1:5]
Se crea el vector a de 5 elementos.
a=
Luego al mismo vector a, se le
1 2 3 4 5
aade 2 elementos (20 y 30), en las
>> a(2:3)=[20,30]
posiciones 2 y 3
a=
1 20 30 4 5
Ejemplo N2.31: Cualquier posicin
Definir un vector de 6 elementos, insertar nuevos elementos en las
posiciones 2, 4 y 6.
>> A=[1:6]
Se crea el vector A de 6 elementos.
A=
Luego al mismo vector A, se le
1 2 3 4 5 6
aade 3 elementos (23, 30 y 40), en
>> A([2 4 6])=[23 30 40]
las posiciones 2, 4 y 6
A=
1 23 3 30 5 40
Ejemplo N2.32: Insertando otro vector
Insertar nuevos elementos a un vector aadiendo un vector existente.
Mostrar los valores en forma de vector fila y vector columna
>> A=[1:4]
A=
1 2 3 4
>> B=[5:2:12]
B=
5 7 9 11
>> AB=[A,B]
AB =
1 2 3 4
2.6.2

11

>> AB=[A';B']
AB =
1
2
3
4
5
7
9
11

Adicin de elementos a una matriz


A una matriz existente se le puede aadir nuevas filas y columnas.
Se debe tener cuidado, ya que el tamao de las columnas y filas aadidas
debe coincidir con el de matriz original.

Mat(a,b)=[n] Adiciona 1 elemento n, en la posicin a,b


Mat(a:c,d:f)=[n1 n2 n3 n4] Adiciona elementos a adyacentes
en filas y columnas
Mat([a d],[f h)=[n1 n2 n3 n4]
Adiciona elementos NO
adyacentes tanto en las filas como en las columnas

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

14

Ejemplo N2.33: Posicin adyacente


Crear una matriz A de 2 x 2, luego insertar el valor 23 en la posicin (2,3)
>> A=[1 2 3 4;5 6 7 8]
>> A(2,3)=[23]
A=
A=
1 2 3 4
1 2 3 4
5 6 7 8
5 6 23 8
Ejemplo N2.34: Un toda una fila
Crear una matriz de 2 x 2, luego insertar nuevos valores a la fila 2
>> A=[1 2 3 4;5 6 7 8]
A=
1 2 3 4
5 6 7 8

>> A(2,1:4)=[55,66,77,88]
A=
1 2 3 4
55 66 77 88
>> A(2,:)=[55,66,77,88] (tambien)

Ejemplo N2.35. Dos matrices adyacentes


Crear una matriz de 4 x 4 (usando rand), luego insertar nuevos valores a
las filas 2 y 3
>> A=rand(4)
>> A(2:3,:)=[10:13;20:23]
A=
A=
0.4253 0.5113 0.7006 0.4850
0.4253 0.5113 0.7006 0.4850
0.5947 0.7764 0.9827 0.1146
10.0000 11.0000 12.0000 13.0000
0.5657 0.4893 0.8066 0.6649
20.0000 21.0000 22.0000 23.0000
0.7165 0.1859 0.7036 0.3654
0.7165 0.1859 0.7036 0.3654
Ejemplo N2.36:
Definir una matriz aleatoria de 4 x 3, luego insertar valores en las
posiciones (1,2) y (2,2)
>> B=rand(4,3)
B=
0.4565 0.6154
0.0185 0.7919
0.8214 0.9218
0.4447 0.7382

0.1763
0.4057
0.9355
0.9169

>> B(1:2,2)=[20,30]
B=
0.4565 20.0000 0.1763
0.0185 30.0000 0.4057
0.8214 0.9218 0.9355
0.4447 0.7382 0.9169

Ejemplo N2.37: Dos matrices NO adyacentes


Crear una matriz de 4 x 4 (usando rand), luego insertar nuevos valores a
las filas 1 y 3
>> C=rand(4)
>> C([1 3],:)=[10:13;30:33]
C=
C=
0.1400 0.9994 0.5485 0.5711
10.0000 11.0000 12.0000 13.0000
0.5668 0.9616 0.2618 0.7009
0.5668 0.9616 0.2618 0.7009
0.8230 0.0589 0.5973 0.9623
30.0000 31.0000 32.0000 33.0000
0.6739 0.3603 0.0493 0.7505
0.6739 0.3603 0.0493 0.7505
Ejemplo N2.38: Aadir un vector
Definir una matriz A de 2 x 2; aadir un vector aadir un vector de 4
elementos a la tercera fila de A
>> A=[1 2 3 4;5 6 7 8]
>> A(3,:)=[30:2:36]
A=
A=
1 2 3 4
1 2 3 4

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

15

5
30

6 7 8
32 34 36

Ejemplo N2.39: Definir una matriz aleatoria de 3 x 3, luego aadir un


vector de 3 elementos a la cuarta columna
>> C=rand(3)
>> C(:,4)=[10, 20,30]
C=
C=
0.4103 0.3529 0.1389
0.4103 0.3529 0.1389 10.0000
0.8936 0.8132 0.2028
0.8936 0.8132 0.2028 20.0000
0.0579 0.0099 0.1987
0.0579 0.0099 0.1987 30.0000
Ejemplo N2.40: Juntar dos matrices
Definir dos matrices aleatorias de 3 x 2 y de 3
matrices
>> A=rand(3,2)
>> AB=[A,B]
A=
AB =
0.6813 0.5028
0.6813 0.5028
0.3795 0.7095
0.3795 0.7095
0.8318 0.4289
0.8318 0.4289
>> B=rand(3)
B=
0.3046 0.6822 0.1509
0.1897 0.3028 0.6979
0.1934 0.5417 0.3784

x 3, luego juntar las dos

0.3046
0.1897
0.1934

0.6822
0.3028
0.5417

0.1509
0.6979
0.3784

2.7 Eliminacin de elementos


Un elemento o rango de elementos, de una variable existente puede ser eliminado,
asignando el conjunto vaco [ ] (corchetes sin elementos en su interior.
Esta operacin puede ser llevada a cabo para vectores o para matrices
En el caso de matrices se tiene que eliminar toda la fila o toda la columna
V(n) = [ ] Elimina el elemento de la posicin n
V(a:e) = [ ] Elimina elementos de las posiciones adyacentes a hasta e
Mat(a,c) = [ ] Elimina elementos de matriz de las posiciones en fila a y columna c
Ejemplo N2.41: Generar un vector con el comando linspace, de 6 elementos,
iniciando en 1 y terminando en 10. Luego eliminar el valor de la posicin 4
>> C=linspace(1,10,6)
C=
1.0000 2.8000 4.6000 6.4000 8.2000
10.0000

>> C(4)=[ ]
C=
1.0000 2.8000 4.6000 8.2000 10.0000

Ejemplo N2:42: Generar un vector de 5 elementos, eliminar las posiciones 2 a 4


>> D=[1:5]
>> D(2:4)=[ ]
D=
D=
1 2 3 4 5
1 5
Ejemplo N2.43: Generar un vector de 5 elementos, eliminar las posiciones 1 y 3
>> v=[10:10:50]
>> v([1 3])=[ ]
v=
v=
10 20 30 40 50
20 40 50

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

16

Ejemplo 2.44: Generar una matriz de 3 x 3, luego eliminar la columna 2


>> M=rand(3)
>> M(:,2)=[ ]
M=
M=
0.5226 0.9797 0.8757
0.5226 0.8757
0.8801 0.2714 0.7373
0.8801 0.7373
0.1730 0.2523 0.1365
0.1730 0.1365
Ejemplo N2.45: Generar una matriz de 3 x 3, luego eliminar las columnas 1 y 3
>> M=rand(3)
>> M(:,[1 3])=[ ]
M=
M=
0.0118 0.2987 0.4692
0.2987
0.8939 0.6614 0.0648
0.6614
0.1991 0.2844 0.9883
0.2844
Ejemplo N2.46: Generar una matriz aleatoria de 3 x 5, eliminar las columnas 2 a la
4
>> A=rand(3,5)
>> A(:,2:4)=[ ]
A=
A=
0.6992 0.5548 0.7159 0.2548 0.8049
0.6992 0.8049
0.7275 0.1210 0.8928 0.8656 0.9084
0.7275 0.9084
0.4784 0.4508 0.2731 0.2324 0.2319
0.4784 0.2319
Ejemplo N2.47: Generar una matriz aleatoria de 3 x 2 , eliminar las fila 2
>> E=rand(3,2)
E=
0.1739 0.4398
0.1708 0.3400
0.9943 0.3142

>> E(2,:)=[ ]
E=
0.1739 0.4398
0.9943 0.3142

2.8 Funciones para manipulacin de arrays


Verificar en la ventana Ayuda de Matlab, siguiendo:
Ventana Ayuda, Funciones por categora, matemticas, arrays y matrices
Tabla N2.1: Funciones MATLAB para manipulacin de arrays
Funcin
Descripcin
Ejemplo
Length(A)
Devuelve el nmero de >> A=[10 20 30 40]
elementos de A
A=
10 20 30 40
>> length(A)
ans =
Size(A)
Devuelve un vector fila, >> size(A)
donde m y n representan ans =
el tamao del array A
1 4
diag(v)
Si v es un vector, este >> v=[10 20 30]
comando crea una matriz v =
cuadrada
con
los
10 20 30
elementos de v en la >> diag(v)
diagonal
ans =
10 0 0
0 20 0
0 0 30
diag(A)
Si A es una matriz, este >> A=rand(3,3)*10
comando crea un vector a A =

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

17

partir de los elementos de


la diagonal de A

3.6508 1.1975
3.9324 0.3813
5.9153 4.5860
>> diag(A)
ans =
3.6508
0.3813
2.6445

8.6987
9.3424
2.6445

2.9 Cadenas de caracteres y variables tipo string


Una cadena o string es un array de caracteres. Para crear una cadena slo es
necesita teclear los caracteres que la forman entre comillas simples.
Cada elemento de la cadena tiene una ubicacin
Ejemplo N2.48: Generar dos cadenas de caracteres a dos variables (a y b)
>> a='hola'
>> b='mi nombre es Hctor'
a=
b=
hola
mi nombre es Hctor
Cuando a una variable se le asigna una variable, cada carcter le corresponde una
posicin en el array.
Ejemplo N2.49: En el ejercicio anterior, extraer
posicin 4 de la variable b
>> a(1)
ans =
h

la posicin 1 de la variable a y la
>> b(4)
ans =
n

Se pueden reemplazar elementos de la cadena (deben ser mismo tamao).


Ejemplo N2.50: A la variable b, cambiar el nombre de Hctor por de Matias
>> b='mi nombre es Hctor'
>> b(14:19)='Matias'
b=
b=
mi nombre es Hctor
mi nombre es Matias
Las cadenas se pueden almacenar en una matriz, usando la funcin char
Nombre_variable = char(cadena 1, cadena 2, ., cadena n)
Ejemplo N2.51: Generar una matriz que contenga la siguiente informacin:
a) Nombre
b) Juan Perez
c) Edad
d) 20 aos
>>Data=char('Nombre:','Juan Perez','Edad:','20 aos')
Data =
Nombre:
Juan Perez
Edad:
20 aos

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

18

PROBLEMAS
1.

Crear un vector cuyo valor inicial sea 200 y su valor final sea 150, los
valores deben decrecer de 10 en 10
Solucin:
>> M=[200:-10:150]
M=
200 190 180 170 160 150

2.

Del vector M; almacenar en variables los elementos tercero y quinto y


luego efectuar una suma de estos elementos
>> M=[200:-10:150]
M=
200 190 180 170 160 150
>> AV3=M(3)
AV3 =
180
>> AV5=M(5)
AV5 =
160
>> S=AV3+AV5
S=
340

3.

Mostrar los elementos que estn entre la segunda hasta la quinta


ubicacin
>> C=M(2:5)
C=
190 180 170 160

4.

Cree un vector fila que contenga los elementos: 32, 4 , 81, e 2.5, cos
(pi/3) y 14.12
Solucin:
>> ve1=[32,4,81,exp(2.5),cos(pi/3),14.12]
ve1 =
32.0000 4.0000 81.0000 12.1825 0.5000 14.1200

5.

Cree un vector columna que contenga los elementos: 55,14,ln(51), 987


y 5sen(2.5)
Solucin:
vec2=[55,14,log(51),987,5*sin(2.5*pi)] vec2=[55,14,log(51),987,5*sin(2.5*pi)];
'
reshape(vec2,5,1)
vec2 =
ans =
55.0000
55.0000
14.0000
14.0000
3.9318
3.9318
987.0000
987.0000
5.0000
5.0000

6.

Cree un vector fila en el cual el primer elemento sea 1 y el ltimo


elemento sea 33, con incrementos de 2 entre cada elemento.
Solucin:
>> vec3=[1:2:33]

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

vec3 =
Columns 1 through 16
1 3 5 7 9 11
Column 17
33

19

13

15

17

19

21

23

25

27

29

31

7.

Cree un vector columna en el cual el primer elemento sea 15, el


incremento sea -5, y donde el ltimo elemento sea -25
Solucin:
>> vect4=[15:-5:-25]'
vect4 =
15
10
5
0
-5
-10
-15
-20
-25

8.

Cree un vector fila con 15 elementos con iguales incrementos, en el


cual el primer elemento sea 7 y el ltimo 40
Solucin:
>> vect5=linspace(7,40,15)
vect5 =
Columns 1 through 9
7.0000 9.3571 11.7143 14.0714 16.4286 18.7857 21.1429 23.5000
25.8571
Columns 10 through 15
28.2143 30.5714 32.9286 35.2857 37.6429 40.0000

9.

Cree un vector columna con 12 elementos igualmente espaciados, en el


cual el primer elemento sea -1 y el ltimo sea -15
Solucin:
>> vect6=linspace(-1,-15,12)
vect6 =
Columns 1 through 9
-1.0000 -2.2727 -3.5455 -4.8182 -6.0909 -7.3636 -8.6364 -9.9091
-11.1818
Columns 10 through 12
-12.4545 -13.7273 -15.0000

10.

Cree un vector llamado aprimero, que tenga 16 elementos, siendo el


primero el 4, con incremento de 3 y siendo el ltimo elemento 49.
Posteriormente utilice el smbolo dos puntos para crear un nuevo vector, llamado
asegundo, que tenga ocho elementos. Los primeros cuatro elementos sern los
primeros cuatro elementos del vector aprimero, y los cuatro ltimos sern los
cuatro ltimos elementos del vector aprimero.
Solucin:
>> aprimero=[4:3:49]
aprimero =
4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49
>> asegundo=aprimero(:,[1:4,13:16])

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

20

asegundo =
4 7 10
11.

13

40

43

46

49

Cree una matriz tal como la que se indica abajo, usar notacin de
vectores para crear vectores con incrementos constantes, y/o el comando linspace
para crear filas

72
0

10

13

16

19

22

66
60
54
48
42
36
30
0.125 0.250 0.375 0.500 0.625 0.750 0.875

25

24
1.00

Solucin:
>> B=[1:3:25;72:-6:24;linspace(0,1,9)]
B=
1.0000 4.0000 7.0000 10.0000 13.0000 16.0000 19.0000 22.0000 25.0000
72.0000 66.0000 60.0000 54.0000 48.0000 42.0000 36.0000 30.0000 24.0000
0
0.1250 0.2500 0.3750 0.5000 0.6250
0.7500 0.8750 1.0000

12.

Crear la matriz A.

6 43 2 11 87
A 12 6 34 0 5
34 18 7 41 9
a) Crear un vector fila de 5 elementos llamado va, que contenga los elementos de
la segunda fila de B
b) Crear un vector fila de 6 elementos llamado vb, que contenga los elementos de
la cuarta columna de B
c) Crear un vector fila de 10 elementos llamado vc, que contenga los elementos de
la primera y segunda fila de B
d) Crear un vector de seis elementos llamado vd que contenga los elementos de la
segunda y la quinta columna de B
Solucin:
>> B=[6 43 2 11 87;12 6 34 0 5;34 18 7 41 9]
B=
6 43 2 11 87
12 6 34 0 5
34 18 7 41 9
a)>> va=B(2,:)
va =
12 6 34

b)>> vb=B(:,4)
vb =
11
0
41
c)>> vc=[B(1,:),B(2,:)]
vc =
6 43 2 11 87
d)>> bb=[B(:,2);B(:,5)]'
bb =

Ing. Hctor G. Bolaos Sosa

12

34

Vectores y Matrices

43
13.

21

18

87

Crear la siguiente matriz C:

2 4 6 8 10
C 3 6 9 12 15
7 14 21 28 35
Luego utilice esta matriz para resolver:
a)
Crear un vector columna de tres elementos llamado ca, que contenga los
elementos de la tercera columna de C
b)
Crear un vector columna de cinco elementos llamado cb, que contenga
los elementos de la segunda fila de C
c)
Crear un vector columna de nueve elementos llamado cc, que contenga
los elementos de la primera, tercera y quinta columna de C
d)
Crear un vector columna de diez elementos llamado cd, que contenga los
elementos de la primera, y segunda fila de C
Solucin:
>> C=[[2:2:10];[3:3:15];[7:7:35]]
C=
2 4 6 8 10
3 6 9 12 15
7 14 21 28 35
a)>> ca=C(:,3)
ca =
6
9
21
c)>> cc=[C(:,1);C(:,3);C(:,5)]
cc =
2
3
7
6
9
21
10
15
35
14.

b)>> cb=C(2,:)'
cb =
3
6
9
12
15
d)>> cd=[C(1,:),C(2,:)]
cd =
2
4
6
8 10
3 6 9 12 15

Crear la matriz siguiente:

1 2 3 4 5 6 7
2 4 6 8 10 12 14

A
21 18 15 12 9 6 3

5 10 15 20 25 30 35

a)

Cree una matriz B de 3x4 a partir de la primera, tercera y cuarta fila, y de la


primera, tercera, quinta y septima columna
b)
Crear un vector fila de 15 elementos llamado u, a partir de los elementos
de la tercera fila y de la quinta a la sexta columna de la matriz A
Solucin:
Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

22

Se trata se creacin de nuevas matriz y vector a partir de la matriz A


>> A=[1:7;2:2:14;21:-3:3;5:5:35]
A=
1 2 3 4 5 6 7
2 4 6 8 10 12 14
21 18 15 12 9 6 3
5 10 15 20 25 30 35
a) Se usar el concepto de creacin de nueva matriz a partir de la matriz A
Nueva Matriz = Matriz([filas],[columnas])
>> B=A([1,3,4],[1,3,5,7])
B=
1 3 5 7
21 15 9 3
5 15 25 35
b) Se usar el concepto de juntar dos matrices, un vector ser la fila 3 y el otro
vector ser la columna 5 y 6 (a partir de sus pociones 17 a 24)
R=[Mat1,Mat2]
>> R=[A(3,:),A(17:24)]
R=
21 18 15 12 9
15.

10

25

12

30

Utilizando las funciones zeros, ones y eye, crear los siguientes arrays

0 0 0 0
0 0 0 0

1
0

0
1
0
0

0
0
1
0

0
0
0

1
1

1
1
1 1

Solucin:

>> A=zeros(2,4)
A=
0 0 0 0
0 0 0 0

>> B=eye(4)
B=
1 0 0
0 1 0
0 0 1
0 0 0

0
0
0
1

>> C=ones(3,2)
C=
1 1
1 1
1 1

16.

Usando los comandos ones y zeros, crear una matriz de 4 x 5, en la


cual las primeras filas sean ceros y las dos siguientes sean unos
Solucin:
Crear la Matriz, luego usar las instrucciones de adicin de elementos a una matriz
Mat(a:c,d:f)=[lelementos]
En la cual se aaden filas 3 y 4 con unos
>> A=zeros(2,5)
>> A(3:4,:)=ones(2,5)
A=
A=
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1

17.

Crear una matriz de 6 x 6 en la cual las dos filas centrales, junto a las
dos columnas centrales sean unos, el resto de elementos deben ser ceros.

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

23

Solucin:
Se crear una matriz de ceros
usar las instrucciones de adicin de elementos a una matriz
Mat(a:c,d:f)=[lelementos]
a)
Creacin matriz de ceros
>> AR=zeros(6)
AR =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
b) Adicionar unos (nuevos valores) a la
matriz en las filas de 3 a 4
>> AR(3:4,:)=ones(2,6)
AR =
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
18.

c) A la matriz que est corregida, aadir


nuevos valores (unos) a las columnas 3 y
4
>> AR(:,3:4)=ones(6,2)
AR =
0 0 1 1 0 0
0 0 1 1 0 0
1 1 1 1 1 1
1 1 1 1 1 1
0 0 1 1 0 0
0 0 1 1 0 0

Utilizando las funciones zeros y ones, crear una matriz 3x5, la cual debe
tener la siguiente forma final

0 0 1 1 0
D 0 0 1 1 0
0 0 1 1 0
Solucin:
Se deber usar adicionar nuevos valores (matriz de unos de tamao 3x2 ) a la
matriz D
>> A=zeros(3,5)
>> A(7:12)=ones(3,2)
A=
0
0
0

A=
0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

1
1
1

1
1
1

0
0
0

Se tendra otra alternativa, iniciando con una matriz de unos


>> B=ones(3,5)
>> B(:,1:2)=zeros(3,2)
B=
B=
0 0 1 1 1
0 0 1 1 1
1 1 1 1 1
0 0 1 1 1
1 1 1 1 1
>> B(:,5)=zeros(3,1)
1 1 1 1 1
B=
0 0 1 1 0
0 0 1 1 0
0 0 1 1 0

Ing. Hctor G. Bolaos Sosa

Vectores y Matrices

19.

24

Crear una matriz de 5 x 7 en la cual la primera fila tenga los nmeros 1


al 7, en la segunda tenga los nmeros del 8 al 14, la tercera los nmeros del 15 al
21, as sucesivamente.
A partir de esta matriz, crear otra nueva de 3 x 4 compuesta por las filas 2 a la 4 y
las columnas 3 a la 6
Solucin:
Se usar el procedimiento creacin de nuevas matrices a parir de otras existentes
Nueva matriz=(filas, columnas)
>> A=[1:7;8:14;15:21;22:28;29:35]
>> B=A(2:4,3:6)
A=
B=
1 2 3 4 5 6 7
10 11 12 13
8 9 10 11 12 13 14
17 18 19 20
15 16 17 18 19 20 21
24 25 26 27
22 23 24 25 26 27 28
29 30 31 32 33 34 35

Ing. Hctor G. Bolaos Sosa

Vous aimerez peut-être aussi