Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Encargados de la serie:
Tabla de contenido
1. Introducción .................................................................................................................................... 2
CAPITULO I: Aspectos Básicos ............................................................................................................. 6
2. Experimentando el entorno de Matlab........................................................................................... 6
2.1 Partes de la ventana principal ................................................................................................... 6
2.2 Algunos comandos de importancia ......................................................................................... 10
2.3 Asignación de variables ........................................................................................................... 12
3. Operaciones aritméticas con Matlab ........................................................................................... 14
3.1 Constantes y cadenas. ............................................................................................................ 16
4. Operaciones con Matrices y Arrays.............................................................................................. 17
4.1 Vectores fila............................................................................................................................. 18
4.2 Vectores columna.................................................................................................................... 19
4.3 Acceso a los elementos de una matriz .................................................................................... 23
4.3 El Operador de colon (:) .......................................................................................................... 24
5. Tipos de matrices predefinidas ..................................................................................................... 25
6. Operadores aritméticos, lógicos y relacionales de matrices en MATLAB .................................. 28
8. Ejercicios Resueltos ....................................................................................................................... 29
Bibliografía ........................................................................................................................................ 39
1. Introducción
1
En el contexto informático, código nativo se usa como seudónimo de lenguaje de máquina. Este puede ser creado
directamente para microcontroladores extremadamente sencillos o código fuente ya compilado, que puede ser interpretado
por la máquina. El código nativo es una forma de código de la programación de computadora que se configura para
funcionar con el uso de un procesador especificado. La estructura exacta del código nativo se usa para responder a las
instrucciones que son publicadas por el procesador. Todos los tipos de función del software con código nativo, y se escriben
a la función en la eficacia óptima con un tipo seleccionado de procesador o con los procesadores que se fabrican para reflejar
la configuración del procesador especificado.
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
usuario. En cualquier caso, una vista similar se puede conseguir con el comando
View/Desktop Layout/ Default. Esta ventana inicial requiere unas primeras
explicaciones.
Figura Nº 2
Figura Nº 2
Para empezar con algunos ejemplos que provee Matlab, escriba uno de estos
comandos: helpwin, Helpdesk o demo, Helpwin abre una GUI de ayuda Matlab y
Figura Nº 4
3
El hipertexto es una herramienta con estructura no secuencial que permite crear, agregar, enlazar y compartir información de
diversas fuentes por medio de enlaces asociativos. La forma más habitual de hipertexto en informática es la de hipervínculos o
referencias cruzadas automáticas que van a otros documentos. Si el usuario selecciona un hipervínculo, el programa muestra el
documento enlazado. Otra forma de hipertexto es el stretchtext que consiste en dos indicadores o aceleradores y una pantalla. El
primer indicador permite que lo escrito pueda moverse de arriba hacia abajo en la pantalla. Es importante mencionar que el hipertexto
no está limitado a datos textuales, podemos encontrar dibujos del elemento especificado o especializado, sonido o vídeo referido al
tema.
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
Figura Nº 5
Figura Nº 6
Figura Nº 7
Figura Nº 8
>> who
Your variables are:
A ans
>> whos
Name Size Bytes Class Attributes
A 4x4 128 double
ans 1x1 8 double
Para evitar que MATLAB diferencie entre mayúsculas y minúsculas teclearemos >>
casesen off. Obviamente, el comando contrario será casesen on.
Otro comando útil es lookfor tema de búsqueda. Así, por ejemplo, si queremos
averiguar los comandos relacionados con la función seno, teclearemos >> lookfor
sine y a continuación se nos presenta el siguiente cuadro:
Figura Nº 9
Uno de los mandatos más útiles de MATLAB es diary, que permite guardar en un
vuelva a introducir el mandato diary. Para agregar más texto en una misma
Con las teclas del cursor [↑] y [↓] se recuperan los mandatos antes escritos,
evitando así tener que reescribir ´´ordenes iguales o parecidas. También se puede
a la variable del sistema a través de la palabra ans. Así mismo se pueden usar los
reservados para introducir vectores y matrices(Benitez & Hueso, 2000).. Así, por
ejemplo:
>> 3*((1+3)^(1/20))
de variable, a continuación el signo = y luego el valor que toma esa variable. Para
aceptar, como siempre, hay que pulsar [Intro]. Escribiendo s´´olo el nombre de
puede escribir
>> a = 3, b = 4
y a continuación
>> a+b.
Para conservar este resultado se hace >> c = ans o mejor aún >> c = a+b
>> d=(a+b)^2;
tamaño. Se puede acceder a través del menú e incluso modificar los valores
existentes: File y a continuación Show Workspace. Para modificar las variables una
vez abierto el workspace browser, no tenemos más que pinchar en cada variable.
Con el comando clear sin argumentos elimina todas las variables y clear c elimina
la variable c.
Las variables de una sesión se pueden grabar con el comando >> save c: taller el
cual guarda los nombres y los valores de las variables actualmente definidas en un
Se pueden recuperar ahora o en otra sesión con la orden >> load c: taller. De nuevo
mediante el menú File también se pueden ejecutar los comandos load y save.
tener en cuenta que cada variable que definimos debe comenzar con una letra del
alfabeto.
Ejemplos:
>> a= cos(30)
a=
0.1543
>> b=sin(30)
b=
-0.9880
log(ans)
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
ans = 3.8000
+ Adición
- Resta
* Multiplicación
/ División
^ Potencia
Estos operadores se aplican también a las variables o valores escalares, aunque con
algunas diferencias4. Todos estos operadores son coherentes con las
correspondientes operaciones matriciales: no se puede por ejemplo sumar matrices
que no sean del mismo tamaño. Si los operadores no se usan de modo correcto se
obtiene un mensaje de error ( De Jalón, Goñi, Sarriegui, & Girón, 1997).
Los operadores anteriores se pueden aplicar también de modo mixto, es decir con
un operando escalar y otro matricial. En este caso la operación con el escalar se
aplica a cada uno de los elementos de la matriz. Considérese el siguiente ejemplo:
>> A=[1 2; 3 4]
A=
1 2
3 4
>> A*2
ans =
4
En términos de C++ podríamos decir que son operadores sobrecargados, es decir, con varios significados
distintos dependiendo del contexto)
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
2 4
6 8
>> A-4
ans =
-3 -2
-1 0
MATLAB utiliza el operador de división / para dividir por un escalar todos los
elementos de una matriz o un vector. Sin embargo, el uso que se describe a
continuación sí requiere más atención.
5
El uso de la función exp (exponencial) será explicado posteriormente.
6 Del inglés Not a Number.
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
format short vuelve al estado inicial. format rat aproxima el resultado por un
cociente de enteros pequeños. Se pueden explorar otras opciones con help format.
Podemos usar también cadenas de caracteres para manejar texto en funciones de
MATLAB . Para introducir una cadena, basta escribir el texto entre comillas.
>> ’Esto es una cadena’
Produce el error
Comienza introduciendo la matriz de Dürer como una lista de sus elementos. Solo
tienes que seguir algunas convenciones básicas:
Sintaxis:
(Clave: dentro de una misma fila las separaciones son con espacios en blanco o el
uso de coma)
fila =
1 3 4 10
alpha =
Sintaxis:
vector inicial:salto:final
Un requisito es hacer que uno de los saltos coincida con el final, en caso contrario
tomará el máximo anterior. Ejemplo 1
>> A1=1:1:9
A1 =
1 2 3 4 5 6 7 8 9
>> A2=0:5:19
A2 =
0 5 10 15
A3=1:5
A3 =
1 2 3 4 5
Sintaxis
(Clave: cada “;” representa el fin de una línea, en este caso el fin de la línea indica el fin de
la fila)
Ejemplos:
B=
30.0000
40.0000
60.0000
70.0000
20.0000
50.0000
30.0000
40.0000
45.0000
40.0000
-28.9000
Sintaxis:
A= A'
>> B'
ans =
A=
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
Las propiedades especiales de un cuadrado mágico tienen que ver con las diversas
formas de sumar sus elementos. Si usted toma la suma a lo largo de cualquier fila o
columna, o a lo largo de cualquiera de las dos diagonales principales, siempre
obtendrá el mismo número. Vamos a verificar que con MATLAB. La primera
declaración que debemos intentar es sum(A). MATLAB Nos muestra:
>> sum(A)
ans =
34 34 34 34
Una forma de obtener las sumas de fila es Matriz, calcular las sumas de columna
de la matriz transpuesta, y luego transponer el resultado. Para una forma adicional
7
Un cuadrado mágico es una tabla de grado primario donde se dispone de una serie de números enteros en
un cuadrado o matriz de forma tal que la suma de los números por columnas, filas y diagonales principales sea
la misma. Usualmente los números empleados para rellenar las casillas son consecutivos, de 1 a n², siendo n el
número de columnas y filas del cuadrado mágico.
Los cuadrados mágicos actualmente no tienen ninguna aplicación técnica conocida que se beneficien de estas
características, por lo que sigue recluido al divertimento, curiosidad y al pensamiento matemático. Aparte de
esto, en las llamadas seudo ciencias ocultas y más concretamente en la magia tienen un lugar destacado.
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
A'
Ans
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
y
sum(A')'
diag (A)
Ans
16
10
7
1
9 10
A=
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> A (4,2)=9
A=
16 3 2 13
5 10 11 8
9 6 7 12
4 9 14 1
>> A (4,2)=15
A=
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
1:10
ans =
1 2 3 4 5 6 7 8
Z=
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
magic(4) crea una matriz (4×4) con los números 1, 2, ... 4*4, con la propiedad
de que todas las filas y columnas suman lo mismo.
kron(x,y) produce una matriz con todos los productos de los elementos del
vector x por los elementos del vector y. Equivalente a x'*y, donde x e
y son vectores fila
Existen otras funciones para crear matrices de tipos particulares. Con Help/Matlab
Help se puede obtener información sobre todas las funciones disponibles en
MATLAB, que aparecen agrupadas por categorías o por orden alfabético. En la
categoría Mathematics aparecen la mayor parte de las funciones estudiadas en este
documento.
A continuación se describen algunas de las funciones que crean una nueva matriz a
partir de otra o de otras, comenzando por dos funciones auxiliares:
zeros(size(A)) forma una matriz de ceros del mismo tamaño que una matriz A
previamente creada
A*B Calcula la suma de los productos de las filas de A por las columnas
de B
8. Ejercicios Resueltos
1. Crear un vector M cuyo valor inicial sea 100 y cuyo valor final sea 88. Sus valores
intermedios deben decrecer de 2 en2.
>> m= M(2)
m=
98
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
3. Mostrar los elementos situados entre la tercera y cuarta ubicación inclusive del
vector M.
>> M(3:5)
ans =
96 94 92
M (1: -2:3)
5. Crear una matriz R de 2x3 cuyas filas, cuyas filas son los cuadrados de los 6
primeros números consecutivos
R=
1 4 9
16 25 36
>> R (2,1)=0
R=
1 4 9
0 25 36
>> T= R'
T=
1 0
4 25
9 36
8. Construir una matriz W, formada por la matriz T y la matriz identidad de
orden 3 adosada a su izquierda.
W= [eye(3) T]
>> W= [eye(3) T]
W=
1 0 0 1 0
0 1 0 4 25
0 0 1 9 36
Se pide:
a) Introducir la matriz A.
A=
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44
b) Obtener los valores de la primera columna.
>> A(:,1)
ans =
11
21
31
41
c) Obtener los valores de la segunda fila.
>> A(2,:)
ans =
21 22 23 24
>> A(:,2:3)
ans =
12 13
22 23
32 33
42 43
e) Obtener la diagonal de A.
>> diag(A)
ans =
11
22
33
44
ans =
1 1 1
1 1 1
1 1 1
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
9.
10. Construir una matriz V extrayendo las columnas pares de la matriz T, una
matriz Z formada por la intersección de las dos últimas filas de W y sus columnas
primera y quinta, y una matriz X formada por la intersección de las dos primeras
filas o columnas de la matriz W.
V=
0 1
1 4
0 9
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
Z=
0 25
0 36
X=
0 0
1 25
W(:, [1 5])=[]
W=
0 0 1
1 0 4
0 1 9
11. Construir la matriz diagonal Y, tal que los elementos de su diagonal principal
son los mismos que los de la diagonal principal de W.
>> Y=diag(diag(W))
Y=
0 0 0
0 0 0
0 0 9
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
13. Construir una matriz Z formadas por las matrices unidad de 4x3, la matriz
nula e identidad del mismo orden acoplado horizontalmente. Luego calcular el
tamaño de Z (orden).
Z=
1 1 1 0 0 0 1 0 0
1 1 1 0 0 0 0 1 0
1 1 1 0 0 0 0 0 1
1 1 1 0 0 0 0 0 0
>> size(Z)
ans =
4 9
A=
1 0 0
0 1 0
0 0 1
15. Construir una matriz aleatoria K de orden 4x3. Luego invierta el orden de sus
filas utilizando el operador 2 puntos. Utilice algún comando de Matlab para
realizar el mismo procedimiento.
>> K = rand(4,3)
Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.
K=
ans =
>> flipud(K)
ans =
16. Invierta el orden de las columnas utilizando el operador 2 puntos. Utilice algún
comando de MATLAB para realizar el mismo procedimiento.
>> K(:,3:-1:1)
ans =
>> fliplr(K)
ans =
17. Halle la matriz L de orden 2x6 cuyas columnas resultan de tomar los elementos
de las columnas de K consecutivamente.
>> L = reshape(K,2,6)
L=
18. Mostrar las matrices triangulares inferior y superior de las 3 últimas filas de K.
>> tril(K(2:4,:))
ans =
0.9058 0 0
0.1270 0.2785 0
>> triu(K(2:4,:))
ans =
0 0.2785 0.1576
0 0 0.9706
Bibliografía
de Jalón de la Fuente, J., Goñi Lasheras, R., Sarriegui Domínguez, J., & Girón Legorburu, I. (1997).
Aprenda Matlab 4.2 como si estuviera en Primero. Universidad de Navarra, Escuela
superior de Ingenieros Industriales.
García de Jalón, J., Rodríguez, J., & Vidal, J. (2005). Aprenda Matlab 7.0 como si estuviera en
primero. Universidad Politécnica de Madrid. Madrid: Escuela Técnica Superior de
Ingenieros Industriales .
Benitez López, J., & Hueso Pagoaga, J. (2000). Introducción a MATLAB. Universidad Politécnica de
Valencia, Departamento de Matemática Aplicada, Valencia.
Cutipa Coaquira, M., & Gutierrez Pachas, D. (2009). MATLAB 7. MACRO EIRL.