Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERIA
CIENCIAS BASICAS
Una introducción a MATLAB
Matemáticas y computación
Desarrollo de Algoritmos
Realización de modelos, simulaciones y prototipos
Análisis de datos, exploración y visualización
Gráficos científicos y de ingeniería
Desarrollo de aplicaciones, incluyendo la construcción de la interfaces gráficas de
usuario (IDE)
MATLAB es un sistema interactivo cuyo elemento básico de datos es una matriz que no
requiere que se especifique su dimensión. Esto le permite resolver muchos problemas de
computación en ingeniería, especialmente los que se formulan en términos de matrices y
vectores, en una fracción del tiempo que se tardaría en escribir un programa en un
lenguaje escalar no interactivo como C o Fortran.
MATLAB ha evolucionado desde principios de los años 1.980 con el aporte de muchos
usuarios. En los ambientes universitarios, es la herramienta estándar de enseñanza para
los cursos introductorios y avanzados en matemáticas, ingeniería y ciencia. En la
industria, MATLAB es la herramienta de elección para la investigación de alta
productividad, desarrollo y análisis.
El primer comando que debemos ejecutar cuando realicemos una práctica de laboratorio,
es el comando diary (diario), el cual guardará todos los comandos que se ejecuten en la
sesión de MATLAB en un archivo de texto; podemos darle cualquier nombre, por ejemplo
LAB1. Esto hará que lo que aparece posteriormente en la pantalla (excepto los gráficos)
se escriba en el archivo llamado (LAB1.txt) hasta que se dé la orden de cerrarlo. Al
terminar la práctica de laboratorio, Usted debe modificar este archivo y presentar un
informe de laboratorio individual 1 semana después de realizada la práctica.
Para editar, imprimir o enviar el archivo, salga de MATLAB. Este archivo no se puede
abrir con MATLAB, deberá editarlo con algún otro programa, como por ejemplo,
Microsoft Word.
Para empeazar la práctica de laboratorio ejecute el siguiente comando:
>> diary lab1.txt
Esto creará un archivo llamado lab1.txt en la carpeta de trabajo.
Empecemos escribiendo unos cuantos comandos muy básicos. Si queremos hallar el valor
de una expresión numérica, simplemente la escribimos después del prompt. Supongamos
que queremos saber el valor de 563.94 multiplicado por 34.5. Tecleamos 563.94 * 34.5 en el
sistema de MATLAB y pulsamos la tecla ENTER. El resultado es el siguiente:
>> 563.94*34.5
ans =
1.9456e+004
MATLAB da la respuesta a nuestra operación en una variable convenientemente llamada
ans. Se trata de una variable o un nombre simbólico que se puede utilizar para representar
el valor más tarde. Podemos usar nuestras propias variables dándoles los nombres que
queramos. Por ejemplo, podríamos llamar a una variable x. Supongamos que queremos
que sea igual a 75.6 multiplicado por 23. Para hacer esto, tecleamos después de >> lo
siguiente:
>> x = 75.6*23
x =
1.7388e+003
Una vez que una variable se ha introducido en el sistema, podemos referirnos a ella más
tarde. Supongamos que queremos calcular una nueva cantidad que vamos a llamar y, que
es igual a x multiplicado por 7.23. Entonces tecleamos después de >> lo siguiente:
>> y = x*7.23
y =
1.2572e+004
Cuando se empieza a usar MATLAB, los números se representan con cuatro decimales.
Esto se conoce como formato corto (short) en MATLAB. Es el valor predeterminado en
MATLAB y si esa es la precisión que se necesita, entonces no la modificamos. Si
queremos mayor precisión, entonces podemos indicarle a MATLAB que efectúe un
cambio de formato para añadir más dígitos a la derecha del punto decimal mediante el
comando format. Si queremos 16 dígitos en vez de 4, tecleamos format long. Para ver cómo
funciona esto, efectuemos el siguiente cálculo, que aparece en ambos formatos:
x =
-3.462857142857143
-3.4629
ans =
2.0355e-009
ans =
2.035500000000000e-009
Otro formato utilizado en MATLAB es el formato razón, cuando MATLAB está en este
formato halla la expresión racional más cercano que corresponde con el resultado de un
cálculo. Por ejemplo:
>> format rat
>> 5.83 * 2.72
ans =
4900/309
El valor de π se usa en MATLAB tecleando pi. Después de definir una variable para el
valor del radio, podemos hallar el volumen escribiendo:
>> r = 5;
>> V = (4/3) *pi*r^3
V =
523.5988
Observe en este ejemplo, que un punto y coma al final de un comando, oculta la salida de
dicho comando.
Otro famoso número que aparece en muchas aplicaciones matemáticas es la base de los
logarítmos naturales, e º 2.718. Podemos usar la función exponencial con base e en
MATLAB escribiendo exp(a) que nos da el valor de ea. Aquí están algunos ejemplos:
>> exp(1)
ans =
2.718281828459046
>> exp(-1)
ans =
0.367879441171442
Para hallar la raíz cuadrada de un número x, se usa sqrt(x). Para hallar el logaritmo
natural de un número x, se teclea log(x). Si desea hallar el logaritmo con base diez del
número x, debe teclear log10(x). MATLAB está también, equipado con las funciones
trigonométricas básicas y sus inversas; los ángulos se deben expresar en radianes por
defecto. Estos se escriben en minúsculas con la notación estándar sin(x), cos(x) y tan(x).
Ejercicio 1
Utilice MATLAB para calcular las siguientes cantidades:
1. 25
2. 4.38 10.4592
3. 7.18 .
4. Si el volumen de un cilindro de radio r y altura h es: , use MATLAB
para hallar el volumen del cilindro de radio r = 10 cm y altura h = 25 cm.
5. Use MATLAB para hallar logaritmo natural y logaritmo en base 10 de 2, 5, 10.
6. Use MATLAB para hallar sin(x), cos(x) y tan(x) para los ángulos x= 0, y .
Vectores y Matrices
Un área en la cual MATLAB es particularmente útil es en las aplicaciones de problemas
que tienen que ver con álgebra lineal. Esto se debe a que MATLAB tiene capacidades
excepcionales para la manipulación de matrices de números, lo que lo convierte en una
herramienta muy útil para muchas aplicaciones en ciencias e ingeniería.
v =
3
-5
12
Las operaciones básicas con vectores columna se puede efectuar haciendo referencia a la
variable utilizada para crearlos. Si multiplicamos un vector columna por un número, esta
operación se llama multiplicación por escalar. Supongamos que queremos crear un nuevo
vector de manera que sus componentes sean seis veces las componentes del vector original.
Definimos una variable escalar, k = 3 (recordemos que un punto y coma después de un
coamndo oculta la salida del comando) y luego efectuamos la multiplicación por escalar
considerando a v (el vector columna) como otra variable:
>> k = 3;
>> u = k * v
u =
9
-15
36
Para crear un vector fila, se coloca un conjunto de números entre paréntesis cuadrados,
pero ahora se usa un espacio o una coma para separar los números. Por ejemplo:
>> p = [4 6 8]
p =
4 6 8
>> q = [4, 6, 8]
q =
4 6 8
v1 =
4 6 8
4
6
8
También es posible sumar o restar dos vectores para producir otro. Con el fin de realizar
esta operación los vectores deben ser ambos del mismo tipo y la misma de longitud, por lo
que se puede sumar dos vectores columna para producir un nuevo vector columna o
podemos sumar dos vectores fila para producir un nuevo vector fila. Esto puede hacer
creando los vectores y asignándolos a variables y luego para sumarlos o restarlos usar
dichas variables. Por ejemplo, para sumar dos vectores columna:
>> u1 = [4; -7; 17];
>> u2 = [-2; -3; 5];
>> u3 = u1 + u2
u3 =
2
-10
22
x = [xi : q : xf];
Por ejemplo, podemos crear una lista de números pares 0 - 10 de la siguiente manera:
>> x = [0:2:10]
x =
0 2 4 6 8 10
Vamos a ver cómo funciona en segundo plano esta técnica de crear una lista secuencial de
valores. En primer lugar, crear un conjunto de valores de x:
>> x = [0:0.1:1]
x =
El conjunto de valores x se puede utilizar para crear una lista de puntos que representan
los valores de alguna función determinada. Por ejemplo, suponga que y = ex. Entonces
tenemos:
>> y = exp(x)
y =
O podríamos tener:
>> y = x.^2
y =
Observe que cuando elevamos un vector a una potencia en MATLAB, debemos colocar un
punto precediendo al operador de potencia (^).
x =
100 80 60 40 20 0
A =
5 -12
3 21
Muchas de las operaciones que se realizan con vectores se pueden extender a matrices.
Después de todo un vector columna con n elementos es una matriz con una columna y n
filas, mientras que un vector fila con n elementos es una matriz con un fila y n columnas.
Por ejemplo, la multiplicación por escalar se puede realizar utilizando el nombre de la
matriz:
>> B = -3*A
B =
-15 36
-9 -63
Si dos matrices tienen el mismo número de filas y columnas, las podemos sumar o restar:
>> A = [7 3; 8 -2];
>> B = [-2 0; 5 4];
>> A + B
ans =
5 3
13 2
>> B - A
ans =
-9 -3
-3 6
A =
10 2 7
-4 9 11
>> B = A'
B =
10 -4
2 9
7 11
C =
1 12
-26 -8
Ejercicio 2
Utilice MATLAB para hallar las siguientes cantidades:
El trazado de una función de una variable en MATLAB abarca los siguientes pasos:
Definir la función
Especificar el rango de los valores sobre los que se debe trazar la función
Llamar la función de MATLAB plot(x, y)
Al especificar el rango sobre el cual trazar la función, también debemos decirle a
MATLAB qué incremento queremos utilizar para evaluar la función. Con pequeños
incrementos se obtendrán gráficos con una apariencia más suave. Si el incremento es
menor, MATLAB evaluará la función en más puntos. Pero generalmente no es necesario
que el incremento (o decremento) sea muy pequeño. Miremos un ejemplo sencillo para ver
cómo funciona esto.
Queremos grafica la función y = cos(x) en el rango 0 ≤ x ≤ 10. Para empezar, debemos
definir este intervalo en MATLAB y decirle qué incremento usar. El intervalo se define
utilizando corchetes [ ] dentro de los cuales se especifica lo siguiente:
[inicio : intervalo : final]
Por ejemplo, si queremos decirle a MATLAB que deseamos dibujar para los valores de x:
0 ≤ x ≤ 10, con un intervalo de 0.1, tecleamos:
[0 : 0.1 : 10]
Para asignar este rango a un nombre de variable, se utiliza el operador de asignación.
También al hacer esto le decimos a MATLAB cuál es la variable dependiente y cuál es la
función que queremos graficar. Por lo tanto, para trazar y = cos(x), escribimos los
siguientes comandos:
>> x = [0:0.1:10];
>> y = cos(x);
Tenga en cuenta que terminamos cada línea con punto y coma. Recuerde, esto oculta los
datos que se almacenan en las variables. Ahora podemos graficar la función. Esto se hace
escribiendo el siguiente comando:
>> plot(x, y)
Ahora ¿qué pasa con el incremento? Supongamos que hacemos el incremento de diez veces
mayor, es decir, ahora el intervalo es igual a 1. Entonces, escribimos el siguiente comando:
>> x = [0:1:10];
>> y = cos(x);
>> plot(x, y)
Debemos tener en cuenta que el vector x ahora tiene menor número de datos y si no
reevaluamos al vector y, estos dos vectores tendrán distinto número de datos y el comando
y = cos(x); generará el siguiente error:
??? Error using ==> plot
Vector must be the same lengths.
Cuando trazamos con un incremento mayor, la trama es menos precisa. Observe lo que
genera MATLAB para y = cos (x) en la siguiente figura, donde se utilizó un tamaño de
incremento de 1. La trama de la función en este caso está entrecortada.
Tratemos de ir hacia el otro lado. Hagamos el incremento diez veces más pequeño que el
original, es decir, coloquémoslo en el valor 0,01. Recuerde que necesitamos redefir tanto al
vector x como al vector y, entonces escribimos los comandos:
>> x = [0:0.01:10];
>> y = cos(x);
>> plot(x, y)
Esta vez tenemos una versión suave muy agradable de y = cos (x), esto se muestra en la
siguiente figura.
Ahora sabemos cómo obtener una gráfica en la pantalla. Lo siguiente que deseamos hacer
es generar una gráfica marcando los ejes. Esto se hace usando las funciones xlabel y
ylabel. Estas funciones se pueden utilizar con un solo argumento, el cual es la etiqueta
que desea utilizar para cada eje colocándola entre comillas. Coloque las funciones xlabel y
ylabel separados por comas en la misma línea del comando plot. Por ejemplo, el siguiente
texto genera el gráfico que se muestra en la siguiente figura:
Ejercicio 3
Utilice MATLAB para graficar las siguientes funciones: