Está en la página 1de 24

Vectores y Matrices 1

Universidad Nacional de San Agustín 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 números están agrupados en filas o
columnas.
En los arrays bidimensionales (matrices) los elementos se distribuyen en filas y
columnas.

2.1 Creación de Vectores


Un vector es una sucesión de números (elementos) distribuidos en una fila o
columna.
a) Creación de un vector a partir de una lista
Se deberá teclear los números (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 demográfica
Año 1984 1986 1988 1990 1992 1994 1996
Población 127 130 136 145 158 178 211
(millones)
Generar un vector fila y un vector columna:

Solución:
>> yr=[2001 2002 2003 2004 2005 2006]
yr =
2001 2002 2003 2004 2005 2006
>> yr1=[2007,2008,2009]
yr1 =
2007 2008 2009

Generar un vector columna >> pob1=[130


>> pob=[127;130;140;156;163;171] 140
pob = 150]

127 pob1 =
130 130
140 140
156 150
163
171

b) Creación de un vector con distancia constante a partir de la


especificación del primer término, del intervalo y el último término
La diferencia entre los elementos es siempre la misma
Nombre_variable = [m:q:n]
Nombre_variable = m:q:n

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 2

Ejemplo N° 2.2: Generar un vector fila y vector columna con valores de 10 a 18,
con incrementos de 1.
Solución:
>> 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

Solución
a)>> x=[1:2:13] c)>> s=[-10:0.2:-
x= 8.5]'
1 3 5 7 9 11 13 s=
-10.0000
b)>> y=[1.5:0.1:2.1] -9.8000
y= -9.6000
1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 2.1000 -9.4000
-9.2000
-9.0000
-8.8000
-8.6000

c) Creación de un vector con intervalo constante a partir de la


especificación del primer y último término, así como el número de
términos.

Nombre_variable = linspace(xi,xf,n)

Ejemplo N°2.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 N°2.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 N°2.6: Generar un vector fila de 5 elementos con número aleatorios


>> rand(1,5)
ans =
0.3093 0.8385 0.5681 0.3704 0.7027

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 3

Ejemplo N°2.7: generar una vector columna de 5 elementos con números


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 10 b.
>> 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 1000 10000

>> format bank


>> s=logspace(1,3,4)
s=
10.00 46.42 215.44 1000.00

2.2 Creación de Matrices


Una matriz se define por; el número de filas y por el número 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 tamaño 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 (;) después de cada fila.

Elementos pueden ser:


Números, expresiones matemáticas, variables y funciones

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 4

Ejemplo N°2.8: Generar una matriz 3x3, con elementos números cualesquiera.
Usar (;) después de cada fila

>> A=[5 35 43;4 76 81;21 32 40]


A=
5 35 43
4 76 81
21 32 40

Ejemplo N°2.9: Generar una matriz de 3X3, con elementos números cualesquiera.
Usar enter después de cada fila

>> B=[20 30 40 B=
23 56 34 20 30 40
44 55 66] 23 56 34
44 55 66

Ejemplo N°2.10: Generar una matriz 2 x 3; con elementos que son variables y
expresiones matemáticas, siguientes:
cd = 6; e = 3; h = 4
j = cd * h; k = cos( pi / 4)
n = h2 ; h * e

Solución:
>> 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 N°2.11: Generar una matriz 4 x 6; usando el comando linespace para las
filas, use otras formas de ingreso vectorial para filas

Solución:
>> 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 N°2.12: Generar las siguientes matrices:


a) Matriz de 3x4, todos los elementos son ceros
b) Matriz 4x3, todos los elementos son unos

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 5

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


elementos son ceros

Solución:
>> zr=zeros(3,4) >> nu=ones(4,3) >> dia=eye(5)
zr = nu = dia =
0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 1 0 0 0
0 0 0 0 1 1 1 0 0 1 0 0
1 1 1 0 0 0 1 0
0 0 0 0 1

2.3 Operador de transposición


Nos permite transformar las filas en columnas y viceversa
Este operador se expresa con una comilla simple (‘)

Ejemplo N°2.13: Sea el vector fila B= [4 6 8]; transformar a vector columna

>> AA=[4 6 8] >> AA=[4 6 8]'


AA = AA =
4 6 8 4
6
8

Ejemplo N°2.14: Sea el vector columna anterior, transformar a vector fila


>> BB=AA'
BB =
4 6 8

Ejemplo N°2.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) >> B=A'


A= B=
0.5226 0.9797 0.5226 0.8801 0.1730
0.8801 0.2714 0.9797 0.2714 0.2523
0.1730 0.2523

MANIPULACION DE ARRAYS

2.4 Extracción 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
posición(es) específica (s), para una posterior operación.

2.4.1 Vectores
La dirección de un elemento de un vector es su posición en la Fila o columna

ve=[10 20 30 40]

ve(2)=20 ve(4)=40
ve(k); donde k es la posición del elemento k del vector ve

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 6

ve(n): Una posición


ve(n:m): posiciones adjuntas
ve([a c e]): varias posiciones no adjuntas

Ejemplo N°2.16: Generar un vector de 7 elementos, iniciando con 1 y


terminando en 10 (usar linspace). Realizar las siguientes operaciones:
a) Extraer la posición 2, 3 y 4
b) Asignar a variables las posiciones 2 y 7
c) Efectuar una suma de los elementos 2 y 4
d) Efectuar la expresión: pos(1)2 + pos(7)
e) Cambiar los valores del vector original, en las posiciones 3 con 400 y en la
posición 1 con 100

Solución:
>> ve=linspace(1,10,7)
ve =
1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
a) >> ve(2) >> valor7=ve(7)
ans = valor7 =
2.5000 10

>> ve(3),ve(4) c) Se pueden efectuar operaciones


ans = matemáticas
4 > suma=ve(2)+ve(4)
ans = suma =
5.5000 8
b) Se pueden asignar a variables
>> valor2=ve(2) d) >> valor=ve(1)^2+sqrt(ve(7))
valor2 = valor =
2.5000 4.1623

e) Se pueden cambiar los valores del vector


>> ve(3)=400
ve =
1.0000 2.5000 400.0000 5.5000 7.0000 8.5000 10.0000

>> ve(1)=100
ve =
100.0000 2.5000 400.0000 5.5000 7.0000 8.5000 10.0000

Uso de los dos puntos (:) en la manipulación 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 N°2.17: Extraer posiciones adjuntas


Generar un vector fila iniciando en 1 hasta 20, con incrementos de 2. Extraer
los elementos de la posición 3 a la 7
Solución:
>> vb=[1:2:20]
vb =
1 3 5 7 9 11 13 15 17 19

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 7

>> u=vb(3:7) Crea un vector a partir de los


u= elementos 3 al 7 del vector vb
5 7 9 11 13

Ejemplo N°2.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

Solución:
>> v=[10:10:70] >> v([1 3 6])
v= ans =
10 20 30 40 50 60 70 10 30 60

2.4.2 Matrices
La dirección de un elemento de una matriz está definida a partir del número
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):Intersección 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]): Intersección de filas a y c con columnas d yf

Ejemplo N°2.19: Generar la matriz que se muestra adjunta, y efectuar las


siguientes operaciones: MAT(1,1)
a) Extraer el elemento (1,1)
b) Extraer el elemento (2,3) 3 11 6 5 MAT(2,3)

c) Cambiar el elemento (3,1) por el valor 130


d) Sumar el elemento (2,4) con el elemento 4 7 10 2
(1,2)
13 9 0 8
Solución:
> MAT=[3 11 6 5;4 7 10 2;13 9 0 8] c) Se pueden cambiar el valor de un
MAT = solo elemento de la matriz
3 11 6 5 >> MAT(3,1)=130
4 7 10 2 MAT =
13 9 0 8 3 11 6 5
4 7 10 2
a) >> MAT(3,1) 130 9 0 8
ans = d) Se pueden efectuar operaciones
13 matemáticas
b) >> MAT(2,3) >> MAT(2,4)+MAT(1,2)

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 8

ans = ans =
10 13

Uso de los dos puntos (:) en la manipulación 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 N°2.20: Elementos Adyacentes


Sea la matriz que se muestra, desarrollar lo siguiente: 3 11 6 5
a) Extraer elementos de la tercera columna
b) Extraer elementos de la segunda fila 4 7 2
10
c) Extraer elementos de la última columna
d) Extraer elementos de la última fila 9 0 8
13
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

Solución
>> 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
Columna 3
a)>> A=MAT(:,3) Define el vector A, a partir
A= de los elementos de la
6 tercera columna de la matriz
10 MAT 3 11 6 5
0
4 7 10 2

13 9 0 8
b)>> B=MAT(2,:) Define el vector B, a partir
B= de los elementos de la
4 7 10 2 segunda fila de la matriz
MAT
Columna end
c)>> D=MAT(:,end) Define el vector D, a partir
D= de la última columna de la
5 matriz MAT
2 3 11 6 5
8
4 7 10 2

13 9 0 8

d)>> E=MAT(end,:) Define el vector D, a partir


E= de la última fila de la matriz
13 9 0 8 MAT

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 9

e)>> F=MAT(2:3,:) Define el vector F, a partir de


F= los elementos de las filas 2 y 3 11 6 5
4 7 10 2 3 de la matriz MAT
13 9 0 8 7 2

Filas 2 a 3
4 10

13 9 0 8
f)>> G=MAT(:,2:3) Define el vector G, a partir
G= de los elementos de las
11 6 columnas 2 y 3 de la matriz
7 10 MAT
9 0
Columnas 2 a 3
h)>> H=MAT(1:2,2:3) Define el vector H, a partir
H= de los elementos de las filas
11 6 1 a 2, columnas 2 a 3 de la
3 11 6 5

Filas 1 a 2
7 10 matriz MAT. Los elementos
resultantes son los
intersectados 4 7 10 2

13 9 0 8

Ejemplo N°2.21: Extracción de elementos NO adyacentes


Generar una matriz de 4 x 4 con números aleatorios, estos deben
multiplicarse por el escalar 10. Desarrollar lo siguiente:
a) Extraer los elementos de la intersección 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
Solución:
>> 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) 1.12 6.64 7.08 9.03


ans =
6.64 4.43 7.24 7.84 4.51
2.82
4.67 2.82 9.86 8.05

0.15 2.62 4.73 8.29

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 10

b)>> A([1 3],:) 1.12 6.64 7.08 9.03


ans =
1.12 6.64 7.08 4.43 7.24 7.84 4.51
9.03
4.67 2.82 9.86 4.67 2.82 9.86 8.05
8.05
0.15 2.62 4.73 8.29

c)>> A([2 3],[2 4]) 1.12 6.64 7.08 9.03


ans =
7.24 4.51 4.43 7.24 7.84 4.51
2.82 8.05
4.67 2.82 9.86 8.05

0.15 2.62 4.73 8.29

d)>> A([1 3],[2 4]) 1.12 6.64 7.08 9.03


ans =
6.64 9.03 4.43 7.24 7.84 4.51
2.82 8.05
4.67 2.82 9.86 8.05

0.15 2.62 4.73 8.29

Ejemplo N°2.22: Elementos No adyacentes


Generar una matriz cuadrada de 5x5, usando la función 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

Solución:
>> A=rand(5)
A=
0.4447 0.1763 0.8936 0.1389 0.1988
0.6154 0.4057 0.0579 0.2028 0.0153
0.7919 0.9355 0.3529 0.1987 0.7468
0.9218 0.9169 0.8132 0.6038 0.4451
0.7382 0.4103 0.0099 0.2722 0.9318
>> A([1 3 5],:)
ans =
0.4447 0.1763 0.8936 0.1389 0.1988
0.7919 0.9355 0.3529 0.1987 0.7468
0.7382 0.4103 0.0099 0.2722 0.9318
>> A([1 3 5],2)
ans =
0.1763
0.9355
0.4103
>> A([1 3 5],2:4)
ans =
0.1763 0.8936 0.1389
0.9355 0.3529 0.1987
0.4103 0.0099 0.2722

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 11

2.5 Creación 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 posición “a” hasta posición “e”
Nuevo_vector=Vector([a c e]) Nuevo vector que tiene
elementos de posiciones “a”, “c” y “e”

Ejemplo N°2.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 posición 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
Solución:
>> 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 N°2.24: Generar un vector de 11 elementos, luego crear un nuevo vector


a partir del tercero, quinto y del séptimo al décimo 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 N°2.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 intersección de las filas 1 y 3, con las columnas 1 y 4

>> A=rand(4) c)>> M3=A(2:4,:)


A= M3 =
0.4660 0.2026 0.6813 0.7095 0.4186 0.6721 0.3795 0.4289
0.4186 0.6721 0.3795 0.4289 0.8462 0.8381 0.8318 0.3046
0.8462 0.8381 0.8318 0.3046 0.5252 0.0196 0.5028 0.1897
0.5252 0.0196 0.5028 0.1897

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 12

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


a)> M1=A(1,:) M4 =
M1 = 0.4186 0.6721 0.3795 0.4289
0.4660 0.2026 0.6813 0.7095 0.5252 0.0196 0.5028 0.1897
b)>> M2=A(:,end)
M2 = e)>> M5=A([1 3],[1 4])
0.7095 M5 =
0.4289 0.4660 0.7095
0.3046 0.8462 0.3046
0.1897

Ejemplo N°2.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 N°2.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
Solución:
>> 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 N°2.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 Adición de nuevos elementos a variables ya creadas


Una variable que ya sido creada se le puede alterar insertando nuevos elementos.

2.6.1 Adición de elementos a un vector


Un vector que tiene “n” elementos, se le puede añadir nuevos elementos.
Debe existir una correspondencia entre las posiciones a adicionar y la
cantidad de elementos añadidos

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


“a” hasta a posición “e”
v([a c])=[e1 e3] Adiciona 2 elementos en las posiciones a y c

Ejemplo N°2.29: Posiciones adyacentes


Definir un vector con 4 elementos, añadir 3 elementos, desde la posición 5

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 13

>> v=[1:4] Se crea el vector v de 4 elementos.


v= Luego al mismo vector “v”, se le
1 2 3 4 añade 3 elementos (10,20 y 30),
>> v(5:7)=[10,20,30] quedando finalmente un vector de 7
v= elementos
1 2 3 4 10 20 30

Ejemplo N°2.30: Dos o más 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 añade 2 elementos (20 y 30), en las
>> a(2:3)=[20,30] posiciones 2 y 3
a=
1 20 30 4 5

Ejemplo N°2.31: Cualquier posición


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 añade 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 N°2.32: Insertando otro vector


Insertar nuevos elementos a un vector añadiendo un vector existente.
Mostrar los valores en forma de vector fila y vector columna

>> A=[1:4] >> AB=[A';B']


A= AB =
1 2 3 4 1
>> B=[5:2:12] 2
B= 3
5 7 9 11 4
>> AB=[A,B] 5
AB = 7
1 2 3 4 5 7 9 11 9
11

2.6.2 Adición de elementos a una matriz


A una matriz existente se le puede añadir nuevas filas y columnas.
Se debe tener cuidado, ya que el tamaño de las columnas y filas añadidas
debe coincidir con el de matriz original.

Mat(a,b)=[n] Adiciona 1 elemento “n”, en la posición 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. Héctor G. Bolaños Sosa


Vectores y Matrices 14

Ejemplo N°2.33: Posición adyacente


Crear una matriz A de 2 x 2, luego insertar el valor 23 en la posición (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 N°2.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(2,1:4)=[55,66,77,88]


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

Ejemplo N°2.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 N°2.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(1:2,2)=[20,30]


B= B=
0.4565 0.6154 0.1763 0.4565 20.0000 0.1763
0.0185 0.7919 0.4057 0.0185 30.0000 0.4057
0.8214 0.9218 0.9355 0.8214 0.9218 0.9355
0.4447 0.7382 0.9169 0.4447 0.7382 0.9169

Ejemplo N°2.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 N°2.38: Añadir un vector


Definir una matriz A de 2 x 2; añadir un vector añadir 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. Héctor G. Bolaños Sosa


Vectores y Matrices 15

5 6 7 8 5 6 7 8
30 32 34 36

Ejemplo N°2.39: Definir una matriz aleatoria de 3 x 3, luego añadir 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 N°2.40: Juntar dos matrices


Definir dos matrices aleatorias de 3 x 2 y de 3 x 3, luego juntar las dos
matrices
>> A=rand(3,2) >> AB=[A,B]
A= AB =
0.6813 0.5028 0.6813 0.5028 0.3046 0.6822 0.1509
0.3795 0.7095 0.3795 0.7095 0.1897 0.3028 0.6979
0.8318 0.4289 0.8318 0.4289 0.1934 0.5417 0.3784
>> B=rand(3)
B=
0.3046 0.6822 0.1509
0.1897 0.3028 0.6979
0.1934 0.5417 0.3784

2.7 Eliminación de elementos


Un elemento o rango de elementos, de una variable existente puede ser eliminado,
asignando el conjunto vacío [ ] (corchetes sin elementos en su interior.
Esta operación 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 posición “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 N°2.41: Generar un vector con el comando linspace, de 6 elementos,


iniciando en 1 y terminando en 10. Luego eliminar el valor de la posición 4

>> C=linspace(1,10,6) >> C(4)=[ ]


C= C=
1.0000 2.8000 4.6000 6.4000 8.2000 1.0000 2.8000 4.6000 8.2000 10.0000
10.0000

Ejemplo N°2: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 N°2.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. Héctor G. Bolaños 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 N°2.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 N°2.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 N°2.47: Generar una matriz aleatoria de 3 x 2 , eliminar las fila 2

>> E=rand(3,2) >> E(2,:)=[ ]


E= E=
0.1739 0.4398 0.1739 0.4398
0.1708 0.3400 0.9943 0.3142
0.9943 0.3142

2.8 Funciones para manipulación de arrays


Verificar en la ventana Ayuda de Matlab, siguiendo:
Ventana Ayuda, Funciones por categoría, matemáticas, arrays y matrices

Tabla N°2.1: Funciones MATLAB para manipulación de arrays


Función Descripción Ejemplo
Length(A) Devuelve el número 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 tamaño 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. Héctor G. Bolaños Sosa


Vectores y Matrices 17

partir de los elementos de 3.6508 1.1975 8.6987


la diagonal de A 3.9324 0.3813 9.3424
5.9153 4.5860 2.6445
>> diag(A)
ans =
3.6508
0.3813
2.6445

2.9 Cadenas de caracteres y variables tipo string


Una cadena o “string” es un “array” de caracteres. Para crear una cadena sólo es
necesita teclear los caracteres que la forman entre comillas simples.
Cada elemento de la cadena tiene una ubicación

Ejemplo N°2.48: Generar dos cadenas de caracteres a dos variables (a y b)


>> a='hola' >> b='mi nombre es Héctor'
a= b=
hola mi nombre es Héctor

Cuando a una variable se le asigna una variable, cada carácter le corresponde una
posición en el array.

Ejemplo N°2.49: En el ejercicio anterior, extraer la posición 1 de la variable “a” y la


posición 4 de la variable “b”
>> a(1) >> b(4)
ans = ans =
h n

Se pueden reemplazar elementos de la cadena (deben ser mismo tamaño).

Ejemplo N°2.50: A la variable “b”, cambiar el nombre de Héctor por de Matias


>> b='mi nombre es Héctor' >> b(14:19)='Matias'
b= b=
mi nombre es Héctor mi nombre es Matias

Las cadenas se pueden almacenar en una matriz, usando la función char

Nombre_variable = char(‘cadena 1’, ‘cadena 2’, …., ‘cadena n’)

Ejemplo N°2.51: Generar una matriz que contenga la siguiente información:


a) Nombre
b) Juan Perez
c) Edad
d) 20 años

>>Data=char('Nombre:','Juan Perez','Edad:','20 años')


Data =
Nombre:
Juan Perez
Edad:
20 años

Ing. Héctor G. Bolaños 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
Solución:
>> 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 están entre la segunda hasta la quinta ubicación
>> 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
Solución:
>> 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π)
Solución:
vec2=[55,14,log(51),987,5*sin(2.5*pi)]' vec2=[55,14,log(51),987,5*sin(2.5*pi)];
vec2 = reshape(vec2,5,1)
55.0000 ans =
14.0000 55.0000
3.9318 14.0000
987.0000 3.9318
5.0000 987.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.
Solución:
>> vec3=[1:2:33]
vec3 =
Columns 1 through 16
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 19

Column 17
33

7. Cree un vector columna en el cual el primer elemento sea 15, el incremento sea -5,
y donde el último elemento sea -25
Solución:
>> 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
Solución:
>> 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
Solución:
>> 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 símbolo dos puntos para crear un nuevo vector, llamado
asegundo, que tenga ocho elementos. Los primeros cuatro elementos serán los
primeros cuatro elementos del vector aprimero, y los cuatro últimos serán los
cuatro últimos elementos del vector aprimero.
Solución:
>> 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])
asegundo =
4 7 10 13 40 43 46 49

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 20

11. Cree una matriz tal como la que se indica abajo, usar notación de vectores para
crear vectores con incrementos constantes, y/o el comando linspace para crear
filas
 1 4 7 10 13 16 19 22 25 
B =  72 66 60 54 48 42 36 30 24 
 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.00 
Solución:
>> 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
Solución:
>> 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 0 5

b)>> vb=B(:,4)
vb =
11
0
41

c)>> vc=[B(1,:),B(2,:)]
vc =
6 43 2 11 87 12 6 34 0 5

d)>> bb=[B(:,2);B(:,5)]'
bb =
43 6 18 87 5 9

13. Crear la siguiente matriz C:

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 21

 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
Solución:

>> 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) b)>> cb=C(2,:)'
ca = cb =
6 3
9 6
21 9
12
15
c)>> cc=[C(:,1);C(:,3);C(:,5)] d)>> cd=[C(1,:),C(2,:)]
cc = cd =
2 2 4 6 8 10
3 3 6 9 12 15
7
6
9
21
10
15
35

14. 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
Solución:
Se trata se creación de nuevas matriz y vector a partir de la matriz A

>> A=[1:7;2:2:14;21:-3:3;5:5:35]

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 22

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 creación 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 6 3 5 10 9 25 6 12 6 30

15. Utilizando las funciones zeros, ones y eye, crear los siguientes arrays
0 0 0 0  1 0 0 0 1 1
0 0 0 0  0 1 0 0  1 1
    
0 0 1 0 1 1
 
0 0 0 1
Solución:
>> A=zeros(2,4) >> B=eye(4) >> C=ones(3,2)
A= B= C=
0 0 0 0 1 0 0 0 1 1
0 0 0 0 0 1 0 0 1 1
0 0 1 0 1 1
0 0 0 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
Solución:
Crear la Matriz, luego usar las instrucciones de adición de elementos a una matriz
Mat(a:c,d:f)=[lelementos]
En la cual se añaden 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.
Solución:
Se creará una matriz de ceros
usar las instrucciones de adición de elementos a una matriz

Ing. Héctor G. Bolaños Sosa


Vectores y Matrices 23

Mat(a:c,d:f)=[lelementos]

a) Creación matriz de ceros c) A la matriz que está corregida, añadir


>> AR=zeros(6) nuevos valores (unos) a las columnas 3 y
AR = 4
0 0 0 0 0 0 >> AR(:,3:4)=ones(6,2)
0 0 0 0 0 0 AR =
0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1
b) Adicionar unos (nuevos valores) a la 0 0 1 1 0 0
matriz en las filas de 3 a 4 0 0 1 1 0 0
>> 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. 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 
Solución:
Se deberá usar adicionar nuevos valores (matriz de unos de tamaño 3x2 ) a la
matriz D
>> A=zeros(3,5) >> A(7:12)=ones(3,2)

A= A=

0 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 1 0

Se tendría 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. Héctor G. Bolaños Sosa


Vectores y Matrices 24

19. Crear una matriz de 5 x 7 en la cual la primera fila tenga los números 1 al 7, en la
segunda tenga los números del 8 al 14, la tercera los números 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
Solución:
Se usará el procedimiento creación 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. Héctor G. Bolaños Sosa

También podría gustarte