Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATLAB Simulink
Cálculo Paralelo Modelado de punto fijo
Matemáticas, Estadı́stica y Optimización Modelado basado en eventos
Diseño y análisis de sistemas de control Modelado fı́sico
Procesamiento de señales y comunicaciones Diseño y análisis de sistemas de
control
Procesamiento de imágenes y Visión Artificial Procesamiento de señales y comu-
nicaciones
Prueba y medición Generación de código
Finanzas computacionales Creación rápida de prototipos y
simulación hardware-in-the-loop
(HIL)
Biologı́a computacional Verificación, validación y pruebas
Generación de Código y Verificación Gráficas de Simulación e Informes
Implementación de aplicaciones
Acceso Base de Datos e Informes
Aunque los archivos *.m se pueden crear con cualquier editor de textos, el
Editor/Debugger que permite crear y modificar estos, ası́ como ejecutarlos
paso a paso para ver si contienen errores (proceso de Debug o depuración).
La Figura 3.2 muestra la ventana principal del Editor/Debugger. Algunas
caracterı́sticas del editor se mencionan acontinuación:
Otra opción muy útil de ese menú contextual es Smart Indent, que
organiza el sangrado de los bucles y bifurcaciones de las sentencias
seleccionadas.
Fig. 2: Editor/debugger
2. Comandos básicos
Variables y operadores
Los operadores básicos y constantes especiales que tiene MATLAB son:
Aritméticos
• Suma: +
• Resta: −
• Multiplicación: ∗
• Division:/
• Potencia: ∧
x =
5
Una aspecto importante a mencionar, es que si no se asigna el resultado a
ninguna variable, MATLAB lo asigna por defecto a la variable ans:
)) 2+3
ans =
5
Además, si al final del comando se pone punto y coma, el resultado no apa-
rece en pantalla.
ans =
2
)) 2/(2+1)
ans =
0.6667
3.2. Matrices
Las matrices son un conjunto de datos acomodados en fila y columnas. Los
elementos de una misma fila están separados por blancos o comas, mientras
que las filas están separadas por pulsaciones enter o por caracteres punto y
coma (;). Por ejemplo, el siguiente comando define una matriz A de dimensión
(3 × 3):
>> A=[1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Si una matriz tiene el mismo numero de filas y columnas se denomina matriz
cuadrada.
A continuación comentamos algunos aspectos de las matrices.
Para separar filas usa ; o bien al pulsar enter.
Los elementos de las matrices y vectores pueden ser reales, complejos
y expresiones.
Si se introducen datos cuya sintaxis es muy larga, se puede continuar
en la siguiente linea introduciendo al final tres puntos seguidos (...)
Por otro lado, para asignación de valores iniciales a matrices se utilizan los
siguientes métodos:
Lista explı́citamente: La manera más sencilla de definir una matriz
es usar una lista de números, como se muestra enseguida:
A = [2.5];
B= [2 3.5];
C=[-2, 0 1; 1,1,0; 1 -1,0];
D= [-1, 0, 1; 1,1,0; 1, -1,0; 3.5,0.5,2];
También se puede definir una matriz poniendo cada fila en una lı́nea
aparte:
C=[-2, 0 1
-1,1,0
1 -1,0];
Si definimos a
f=[1, 2, 3, 4; 2,3,4,5;3,4,5, 6]
obtendremos los siguientes vectores
x=f(:,1) % vector columna, obtiene la primer columna de f
y=f(1,:) % vector fila, obtiene la primer fila de f
Se puede usar el signo de dos puntos para separar dos enteros, el ope-
rador de dos puntos generará todos los enteros entre los dos enteros
especificados.
Otra manera de usar el operador es separando tres números, el operador
deh=dos
1:3puntos generará valores entre el primer número y el tercero,
f=[1:4;2:5;3:6]
usando el segundo número como incremento.
tiempo= 1:0.1:5
f=[1:0.5:4;2:0.5:5;3:0.5:6]
C =
-2 0 1
1 1 0
1 -1 0
y si se ejecuta,
c1=C(:,2:3), obtenemos
c1 =
0 1
1 0
-1 0
Ahora, si se ejecuta
c2=C(2:3,1:2), se obtiene
c2 =
1 1
1 -1
Otra manera de definir matriz es usando funciones de MATLAB, las
cuales permiten la definición de matrices especiales, como serı́an:
• La función zeros genera una matriz que contiene sólo ceros.
+ adición o suma
- sustracción o resta
* multiplicación
’ traspuesta
^ potenciación
s = ’cadena de caracteres’
>> c=’cadena’
c =
cadena
>> size(c) % dimensiones del array
ans =
1 6
>> double(c) % convierte en números ASCII cada carácter
ans =
99 97 100 101 110 97
>> char(abs(c)) % convierte números ASCII en caracteres
ans =
cadena
>> cc=char(’uno’,’videos’) % convierte dos cadenas en una matriz
cc =
uno
videos
>> size(cc) % se han a~
nadido tres espacios a ’uno’
ans =
2 6
disp
fprintf(Formato, variable)
Un ejemplo
fprintf(’%f %f\n’, temp,x)
variable =
4. Funciones en MATLAB
4.1. Funciones Matematicas
Las funciones matemáticas permiten realizar cálculos diversos en ámbito
cientı́fico y de ingenierı́a. A continuación se describen las más relevantes:
Funciones comunes
Funciones trigonométricas
• sin(x) Calcula el seno de x, donde x está en radianes.
• cos(x) Calcula el coseno de x, donde x está en radianes.
• tan(x) Calcula la tangente de X, donde x está en radianes.
• asin(x) Calcula el arcoseno o seno inverso de x, donde x debe estar
entre -1 y 1. La función devuelve un ángulo en radianes entre −π/2
y π/2.
• acos (x) Calcula el arcocoseno o coseno inverso de x, donde x debe
estar entre -1 y 1. La función devuelve un ángulo en radianes entre
0 y π.
• atan(x) Calcula la arcotangente o tangente inversa de x. La fun-
ción devuelve un ángulo en radianes entre −π/2 y π/2.
• atan2(y, x) Calcula la arcotangente o tangente inversa del valor
y/x. La función devuelve un ángulo en radianes que está entre −π
y π, dependiendo de los signos de x y de y. Adicionalmente exis-
if condicion
sentencias
end
switch switch_expresion
case case_expr1,
bloque1
case case_expr2,
bloque2
...
otherwise, % opción por defecto
bloque3
end
Sentencia FOR
La sentencia for repite un conjunto de sentencias un número predetermi-
nado de veces. La siguiente construcción ejecuta sentencias con valores de i
de 1 a n, variando de uno en uno.
for i=1:n
sentencias
end
o bien,
for i=n:-0.2:1
sentencias
end
While
La estructura del bucle while es muy similar a la de C/C++/Java. Su
sintaxis es la siguiente:
while condicion
sentencias
end
donde condicion puede ser una expresión vectorial o matricial. Las sentencias
se siguen ejecutando mientras haya elementos distintos de cero en condicion,
es decir, mientras haya algún o algunos elementos true. El bucle se termina
cuando todos los elementos de condicion son false (es decir, cero).
Ejericicios
Escribir una programa que devuelva el valor absoluto de un valor da-
do.(no usar abs)
Escribir una programa que devuelva el radio (distancia al origen), re-
cibiendo como argumento las coordenadas cartesianas (x,y).
Escribir un programa que, tras pedir al usuario un número, le informe
de si es par, impar o no entero.
Escribir un programa que calcule los cuadrados de los números enteros,
hasta que el cuadrado sea mayor o igual que 100