Vous êtes sur la page 1sur 26

CAPITULO I

FUNDAMENTOS DE MATLAB

1.1 El entorno de Matlab

1.1.1 Introducción

Matlab es un poderoso software de computación numérica, análisis de datos y


visualización, que se ha convertido en el primer entorno de cálculo técnico para miles de
usuarios del mundo de la industria, del sector público y de instituciones académicas que
abarcan una amplia gama de aplicaciones en el campo de la ciencia y la ingeniería.

Matlab es un sistema interactivo y un lenguaje de programación para científicos en


general y para cálculos técnicos. Su elemento de datos básico es una matriz que no
requiere dimensionamiento. Esto permite la solución de muchos problemas numéricos
en una pequeña fracción del tiempo que llevaría escribir un programa en un lenguaje tal
como el Pascal o el C/C++. Más aún, las soluciones del problema se expresan en Matlab
casi exactamente igual a como se escriben en matemáticas.

Las matemáticas son el lenguaje común de gran parte de la ciencia y de la ingeniería.


Matrices, ecuaciones y gráficas son los bloques de construcción básicos de las
matemáticas aplicadas y también de Matlab.

La manera más fácil de comprender el Matlab, es pensar en él como en una calculadora


totalmente equipada, así:

EDGAR ENRIQUE HERRERA MORALES 1


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
• Como una calculadora básica: realiza operaciones matemáticas simples tales
como sumas, restas, multiplicaciones y divisiones.
• Como una calculadora científica: maneja números complejos, raíces cuadradas
y potencias, logaritmos y operaciones trigonométricas.
• Como una calculadora programable: puede almacenar y recuperar datos;
puede crear, ejecutar y guardar secuencias de órdenes para automatizar procesos;
puede hacer comparaciones lógicas y controlar el orden en el que se ejecuten las
instrucciones.
• Como una calculadora de las más potentes disponibles: permite representar
gráficamente los datos en una gran variedad de formas, ejecutar álgebra
matricial, manipular polinomios, integrar funciones, manipular simbólicamente
ecuaciones, etc.

En realidad, Matlab ofrece muchas características más y es mucho más versátil que
cualquier calculadora.

Matlab es una herramienta de software para hacer cálculos matemáticos. Matlab es


también un lenguaje de programación amigable y mucho más fácil de usar que los
lenguajes de computadores tradicionales tales como el Pascal o el C.

Matlab proporciona un entorno excelente para la visualización de datos a través de sus


poderosas capacidades gráficas.

Matlab es una plataforma de desarrollo de aplicaciones, donde conjuntos de


herramientas inteligentes para la solución de problemas en áreas de aplicación
específica, llamadas “toolboxes”, se pueden desarrollar con relativa facilidad. Es
conocido el toolbox de matemática simbólica y el toolbox de señales y sistemas.

Es recomendable utilizar la analogía de la calculadora para ir descubriendo la enorme


potencia del Matlab.

1.1.2 Características básicas

El Matlab es un sistema interactivo y un lenguaje de programación para cómputo


científico y técnico en general. Su elemento básico es una matriz. Sus principales
características son:
• La programación en Matlab es mucho más sencilla y fácil que con otros
lenguajes de programación de alto nivel.
• Hay continuidad entre los valores enteros, reales y complejos; de precisión
sencilla y de doble precisión.
• La amplitud del intervalo numérico y la exactitud de los números son mayores
(4.5e-324 a 9.9e+307).
• Cuenta con una biblioteca matemática amplia.

2 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
• Cuenta con abundantes herramientas gráficas, incluidas funciones de interfaz
gráfica con el usuario.
• Capacidad para vincularse con los lenguajes de programación tradicionales.
• Transportabilidad de sus programas.
• Permite crear rutinas matemáticas adicionales con mayor facilidad que en otros
lenguajes de programación.
• Matlab trata todos los números como si fueran de doble precisión.

Con el Matlab es posible crear objetos gráficos científicos e inclusos artísticos en la


pantalla mediante expresiones matemáticas. Además permite el procesamiento de
imágenes y la producción de películas animadas para cálculos científicos, así como para
material artístico o de afición.

Para obtener mayor información sobre el Matlab, utilice las siguientes alternativas:
Página Web: www.mathworks.com
Newsgroup: comp.soft-sys.matlab
FTP: ftp.mathworks.com (144.212.100.10)
E-Mail: subscribe@mathworks.com o support@mathworks.com

También es posible recibir la siguiente información sin costo The MathWorks


Newsletter (boletín trimestral) y The MathWorks News Digest (distribuido por correo
electrónico).

Actividad Nº 1: Encienda el computador y con la ayuda del profesor instale el Matlab.


Tome nota del proceso de instalación.

1.1.3 Elementos del entorno de Matlab

Para entrar al Matlab proceda así:


Haga clic en el botón Inicio
Seleccione la opción Programas
Seleccione la opción Matlab
Seleccione la opción Matlab

Actividad Nº 2: Entre al Matlab siguiendo el procedimiento descrito. Visualice en la


pantalla el número de la versión instalada del Matlab, digitando la orden: version y el
número de la licencia del programa, digitando la orden: ver. Como alternativa puede
hacer clic en el menú Help y luego seleccionar la opción About MATLAB. Tome nota
de estos datos.

EDGAR ENRIQUE HERRERA MORALES 3


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Actividad Nº 3: Visualice en la pantalla el número positivo más pequeño, digitando la
orden: realmin; el número positivo más grande, digitando la orden: realmax y el épsilon
de la máquina, digitando la orden: eps. Tome nota de estos datos.

Para salir del Matlab existen varias opciones, a saber:


Haga clic en el menú File y luego escoja la opción Exit Matlab Ctrl. + Q
Haga clic en botón cerrar ubicado a la derecha de la barra de título
Digitar el comando quit
Digitar el comando exit

Actividad Nº 4: Salga del Matlab siguiendo uno de los procedimientos descritos.


Asegúrese de haberse familiarizado con los procedimientos para entrar (abrir) y salir
(cerrar) del Matlab.

Actividad Nº 5: Entre al Matlab y visualice en la pantalla la información sobre Matlab y


The MathWorks, digitando la orden: info. Tome nota de esta información (traduzca,
entienda y elabore un resumen).

Actividad Nº 6: Ejecute el programa de demostración del Matlab, digitando la orden:


expo o demo. Inspeccione e interactúe con cada una de las opciones que le brinda esta
demostración. Elabore un resumen de las posibilidades que brinda el Matlab.

La tabla siguiente contiene los elementos o partes del entorno de Matlab.

01. Barra de titulo 11. Botón New file (nuevo)


02. Barra de menú 12. Botón Open file (abrir)
03. Barra de herramientas 13. Botón Cut (cortar)
04. Barra de desplazamiento vertical 14. Botón Copy (copiar)
05. Barra de desplazamiento horizontal 15. Botón Paste (pegar)
06. Icono del menú de control de 16. Botón Undo (deshacer)
ventana
07. Botón minimizar 17. Botón Workspace browser (navegar por el espacio
de trabajo)
08. Botón maximizar/restaurar 18. Botón Path browser (navegar por el sistema de
carpetas)
09. Botón cerrar 19. Botón Help Windows (ayuda)
10. Indicativo de petición de órdenes 20. Cursor
(Prompt)

Actividad Nº 7: Entre al Matlab y ubique las partes de la ventana contenidas en la tabla


anterior. Identifique la función o utilidad de cada una de ellas.

4 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
La tabla siguiente contiene las opciones de los diferentes menús del Matlab.

Menú File Menú Edit Menú Window Menú Help


New Undo O MATLAB Command Window Help Window
Open Cut Help Tips
Open Selection Copy Help Desk (HTML)
Run Script Paste Examples and Demos
Load Workspace Clear About MATLAB
Save Workspace As Select All Subscribe (HTML)
Show Workspace Clear Session
Show Graphics Property
Editor
Show GUI Layout Tool
Set Path
Preferences
Print Setup
Print
Print Selection
Exit MATLAB

Actividad Nº 8: Navegue por los diferentes menús del Matlab. Traduzca y consulte la
función o la utilidad de cada opción del sistema de menús. Observe la correspondencia
entre los botones Workspace browser, Path browser y Help Windows con las opciones
Show Workspace y Set Path del menú File y la opción Help Window del menú Help.

CODIGOS ASCII

A continuación se presenta una tabla con los símbolos más utilizados en Matlab y que
normalmente no están disponibles en algunos teclados, con los correspondientes códigos
ASCII que permiten obtenerlos. La códigos ASCII son un tipo especial de código
estándar americano para el intercambio de información (ASCII: American Standard
Code for Information Interchange).

SÍMBOLO OBTENCIÓN SÍMBOLO OBTENCIÓN


& Alt + 38 [ Alt + 91
‘ Alt + 39 \ Alt + 92
/ Alt + 47 ] Alt + 93
< Alt + 60 ^ Alt + 94
= Alt + 61 _ Alt + 95
> Alt + 62 | Alt + 124
@ Alt + 64 ~ Alt + 126

EDGAR ENRIQUE HERRERA MORALES 5


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Matlab utiliza tres ventanas de visualización:
• Ventana de ordenes o de comandos: sirve para introducir comandos y datos y
exhibir resultados. Es la ventana activa al entrar al Matlab y se despeja con la
orden clc.
• Ventana de gráficos: sirve para visualizar curvas y gráficas. Se activa digitando
la orden figure y se despeja con la orden clf.
• Ventana de edición: sirve para crear y modificar archivos M, que son archivos
que contienen un programa o secuencia de comandos Matlab. Se activa
digitando la orden edit.

Existen también las ventanas del navegador por el espacio de trabajo y navegador por el
sistema de carpetas, que se activan pulsando los botones correspondientes en la barra de
herramientas o seleccionando las opciones correspondientes en el menú File.

Actividad Nº 9: Active las diferentes ventanas del Matlab, identifique sus partes y
ponga en práctica los comandos que permiten despejar cada tipo de ventana (clc: despeja
la ventana de comandos, clf: despeja la ventana de gráficos).

1.1.4 Representación de los datos en Matlab

Al resolver problemas podemos encontrarnos con tres tipos de datos:


• Escalares: son datos que consisten en un solo número, tal como el radio de un
círculo. Se introducen en Matlab así, por ejemplo:
A=[5]
• Vectores: son datos que consisten en una serie de números, tal como las
coordenadas de un punto en el plano xy. Se introducen en Matlab así, por
ejemplo:
B=[5, 9, 2, 3]
• Matrices: son datos que consisten en un conjunto de series de números, tal como
el conjunto de las cuatro coordenadas de los vértices de una pirámide de base
triangular en el espacio tridimensional xyz. Se introducen en Matlab así, por
ejemplo:
C=[5, 2; 3, 0; 7, 3]

En Matlab es posible representar los datos de todos estos ejemplos usando un tipo
especial de estructura de datos llamada “matriz”, un conjunto de números dispuestos en
una retícula rectangular de filas y columnas.

Si una matriz consta de una fila y una columna podemos llamar “escalar” al número. De
forma similar, si una matriz consta de una fila o de una columna, la denominamos vector

6 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
y para ser más específicos, usamos el término vector fila o vector columna
respectivamente.

En Matlab los nombres de las variables deben comenzar por una letra y luego pueden
contener letras, dígitos o guiones de subrayado. La longitud máxima del nombre de una
variable es de 19 caracteres. Los nombres de las variables son sensibles a las
mayúsculas.

La tabla siguiente muestra algunos símbolos utilizados por el Matlab y su


correspondiente uso.

SÍMBOLO DESCRIPCIÓN
. Punto decimal
, Permite separar los elementos de una fila, los subíndices de las matrices,
los argumentos de las funciones y órdenes en líneas con múltiples
órdenes. En líneas multiórdenes la coma puede ser reemplazada por el
punto y coma para suprimir la visualización.
; Permite separar las filas de la matriz. Al final de una expresión indica que
no serán visualizados los valores.
... Al final de una línea indican continuación en la siguiente línea.
: Indica vector espaciado regularmente, subíndices de matrices o
iteraciones.
‘ Transpuesta de una matriz. Texto es un vector cuyos componentes son los
códigos ASCII de los caracteres.
% Indica comentario. Indica un final lógico de una línea y se ignora
cualquier texto que le sigue.
! Ejecuta una orden del sistema operativo. Indica que el resto de la línea de
entrada se emite como una orden al sistema operativo.
= Indica asignación. Se usa en las sentencias de asignación
( ) Se usan normalmente para indicar prioridades en las expresiones
aritméticas, para encerrar los argumentos de las funciones y para encerrar
los subíndices de vectores y matrices.
[ ] Se usan para formar vectores y matrices.

Actividad Nº 10: Introduzca los siguientes datos al Matlab: a) su edad, b) sus promedios
acumulados de los semestres cursados, c) sus notas obtenidas en los parciales de las
diferentes asignaturas cursadas el semestre anterior.

EDGAR ENRIQUE HERRERA MORALES 7


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.1.5 El espacio de trabajo

Cuando trabaja en la ventana de comandos, Matlab recuerda las órdenes que se


introducen así como los valores de cualquier variable que se crea. Estas órdenes y
variables se dicen que residen en el “espacio de trabajo de Matlab” y pueden volverse a
llamar siempre que se desee. Por ejemplo para visualizar el contenido de una variable
solo digite el nombre de dicha variable a continuación del indicativo de petición de
orden y luego pulse la tecla enter. Si no recuerda el nombre de la variable, puede
pedirle a Matlab una lista de las variables que creadas, utilizando la orden who.

La capacidad que tiene el espacio de trabajo depende del computador que se esté
utilizando. Cada dato elemental emplea 8 bytes en almacenamiento.

La tabla siguiente muestra algunos comandos para el manejo del espacio de trabajo.

COMANDO DESCRIPCIÓN
what Qué: produce una lista de los archivos .m, .mat y .men
what nom_directorio presentes en el directorio actual o en el especificado.
who Quién: produce una lista de las variables del espacio de trabajo
whos con o sin información adicional (tamaños).
who global Quién: produce una lista de las variables del espacio de trabajo
whos global global con o sin información adicional (tamaños).
clear Borrar: permite borrar todas o algunas de las variables del
clear vble1 vble2 vble3 espacio de trabajo.

Actividad Nº 11: Ponga en práctica los comandos contenidos en la tabla anterior,


aprovechando los datos introducidos hasta el momento. Visualice el espacio de trabajo
haciendo clic en el botón Workspace browser o seleccionando la opción Workspace
browser del menú File.

Además de recordar las variables, Matlab permite guardar en un archivo las variables del
espacio de trabajo y recuperar datos de dichos archivos, los cuales tienen la extensión
.m, así:
• Para guardar: elija la opción Save Workspace as... en el menú File, la cual abre
un cuadro de diálogo estándar para salvar todas las variables actuales.
• Para recuperar: elija la opción Load Workspace... en el menú File, la cual abre
un cuadro de diálogo estándar para cargar todas las variables de un espacio de
trabajo guardado previamente.

Existen también comandos que permiten realizar estas operaciones, los cuales tiene los
siguientes formatos:

8 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
COMANDO DESCRIPCIÓN
save Guardar: permite salvar en un archivo todas o
save nom_archivo algunas de las variables de trabajo
save nom_archivo vble1 vble2 vble3
save nom_archivo vble -ascii
load nom_archivo Recuperar: permite cargar desde un archivo todas
load nom_arch vble1 vble2 o algunas de las variables de trabajo

Actividad Nº 12: Ponga en práctica los comandos contenidos en la tabla anterior


(guarde el espacio de trabajo (save), borre totalmente el espacio de trabajo (clear) y
luego recupere el espacio de trabajo (load). Realice esta práctica utilizando los
diferentes formatos de las ordenes save y load o utilizando las opciones correspondientes
del menú File.

1.2 Conceptos y operaciones fundamentales

1.2.1 Variables

Corresponden a la simplificación de un enunciado mediante letras y/o números, donde se


recomienda que el primer carácter sea letra.

Ejemplo 1:
» X = ( 3 + 8 ) * ( 5/2 )
X=
27.5000

Se debe tener cuidado al elegir variables, de tal manera que no causen incompatibilidad
con variables propias del Matlab, como pi (razón de una circunferencia a su diámetro),
Inf (infinito), i o j ( reservadas para −1 ) o NaN (que representa un dato no
numérico como por ejemplo ∞/ ∞ ).

1.2.2 Constantes

Son aquellos datos fijos en la solución de un problema.

Ejemplo 2:
» pi
ans =
3.1416

EDGAR ENRIQUE HERRERA MORALES 9


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.2.3 Operadores

Símbolos para unir las variables y las constantes. Pueden ser: aritméticos, relacionales o
lógicos.

1.2.3.1 Operadores aritméticos:

Son operadores que sirven para realizar operaciones de tipo aritmético.

+ Suma
- Resta
* Multiplicación
/ o \ División
^ Potencia
sqrt Raíz cuadrada

El Matlab para la división emplea dos operadores / o \ :


• El operador / (slash) utilizado para la división usual.
Ejemplo:
»X = 5/3
X=
1.6667
• El operador \ (backslash) utilizado para la división inversa.
Ejemplo:
»X = 3\5
X=
1.6667

Observando los resultados anteriores concluimos que: 5/3 = 3\5

1.2.3.2 Operadores relacionales:

Son operadores que sirven para realizar comparaciones.

< Menor que


> Mayor que
== Igual a
<= Menor que o igual a
>= Mayor que o igual a
~= Diferente

10 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
En Matlab el signo = asigna la salida de una operación a una variable, mientras que = =
compara dos variables. Al hacer comparaciones de vectores o matrices, nos devuelve 1
si el resultado es verdadero y 0 si el resultado es falso.
Ejemplo 3:
» A = [1 2 –1; 3 5 –1; 2 1 2];
» B = [ 2 1 –2; 1 3 –1; 1 0 2];
»C=A==B
C=
0 0 0
0 0 1
0 0 1

» D = A.*(B>1)
D=
1 0 0
0 5 0
0 0 2

En Matlab cualquier valor distinto de cero se considera verdadero y los valores iguales a
cero se consideran falsos.

Ejemplo 4:
»X = -2; Y = 3; Z = 0;
»X + Y > = 1
ans =
1

» ~ (2 ^ Y = = X)
ans =
1

Actividad Nº 13: Utilizando Matlab, determinar el carácter de las raíces de las


siguientes ecuaciones (Es decir sin resolver la ecuación, indicar si las raíces son
reales y desiguales, reales e iguales o complejas).

1. 2x 2 − 4x +1 = 0 2. 4x 2 − 4x +1 = 0
3. 3x 2 − 2 x + 5 = 0 4. 4 x 2 − 5x + 3 = 0
5. x 2 − 10 x + 11 = 0 6. 36 x 2 + 12 x + 1 = 0

EDGAR ENRIQUE HERRERA MORALES 11


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.2.3.3 Operadores Lógicos:

Son operadores que sirven para realizar operaciones de tipo lógico.

~ Negación (NOT, no)


& Conjunción ( AND, y )
| Disyunción ( OR, o )

Ejemplo 5:
» X = -2; Y = 3; Z = 0;
» ~ (X= = Y & Z)
ans =
1

» X=-2; Y=3; Z=-2;


» ~(X==Y|Z)
ans =
0

1.2.4 Operaciones con arreglos

Son operadores que sirven para realizar operaciones elemento por elemento.

+ Suma
- Resta
.* Multiplicación
./ División
.^ Potencia
sqrt Raíz cuadrada

Ejemplo 6:
» A = [1 2 –1; 3 5 –1; 2 1 2];
» B = [ 2 1 –2; 1 3 –1; 1 0 2];
» C = A.*B
C=
2 2 2
3 15 1
2 0 4

Es importante colocar el punto antes del asterisco, pues de lo contrario se realiza una
operación de matrices, tal como lo las conocidas en el Álgebra Lineal, y no una
operación elemento por elemento. Las operaciones con arreglos también se utilizan
entre un escalar y un no escalar, por ejemplo veamos el operador de potencia con
arreglos.

12 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Ejemplo 7:
» D = A.^2
D=
1 4 1
9 25 1
4 1 4

»D=A^2
D=
5 11 -5
16 30 -10
9 11 1

Como podemos observar, los dos resultados anteriores no son iguales.

Nota: en los ejemplos anteriores se utilizaron matrices, pero también hubiéramos podido
utilizar vectores.

Actividad Nº 14: Dados los vectores A=[3 –1 0] y B=[2 -1 2], hallar los valores del
vector D.
1. D = A.^B 2. D = B./A + A – 2
3. D = A + 3.*B y D = A + 3*B 4. D = 3 * A.*A

Nota: ¿Qué conclusión puede obtener del ejercicio 3?.

1.2.5 Operaciones con números complejos

El Matlab no hace distinción entre números reales y números complejos. Un número


complejo en Matlab se almacena como dos números reales que representan
respectivamente, la parte real y la parte imaginaria.

Ejemplo 8: En a + bi, a es la parte real y b es la parte imaginaria ( i = −1 ).

Considere la ecuación cuadrática ax 2 + bx + c = 0 , se sabe que sus raíces vienen dadas


por
− b ± b 2 − 4ac
x1 , x 2 = .
2a

En algunos leguajes de programación, hay que separar el valor de sus raíces en dos
casos:
Si b 2 − 4ac ≥ 0 , entonces x1 , x 2 , son solución real de la ecuación cuadrática.

EDGAR ENRIQUE HERRERA MORALES 13


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Si b 2 − 4ac < 0 , entonces x1 , x 2 , son solución compleja de la ecuación
cuadrática.

En Matlab las raíces se calculan directamente utilizando las siguientes instrucciones:

X1 = (-b + sqrt ( b^2 - 4*a*c ) ) / (2*a)


X2 = (-b - sqrt ( b^2 - 4*a*c ) ) / (2*a)

Ejemplo 9: dada la ecuación x 2 + 3 x − 10 = 0 , hallar las raíces utilizando el Matlab.

Solución:
» a = 1; b = 3; c = -10;
» X1 = (-b + sqrt ( b^2 - 4*a*c ) ) / (2*a)
» X1 =
2
» X2 = (-b - sqrt ( b^2 - 4*a*c ) ) / (2*a)
» X2 =
-5

Para verificar en Matlab, si las respuestas son correctas se sustituyen los valores de X1 y
X2 en la ecuación dada, x 2 + 3 x − 10 , y se debe obtener la equivalencia, es decir igual a
cero.

Solución: utilizando Matlab se procede así:


» X1^2 + 3*X1 –10 % Comprueba la primera respuesta.
ans =
0
» X2^2 + 3*X2 –10 % Comprueba la segunda respuesta.
ans =
0

Nota: ¿Qué pasaría si se sustituyen X1 y X2 en la ecuación? y qué significa el resultado


obtenido?

Ejemplo 10: dada la ecuación x 2 + 4 x + 5 = 0 , hallar las raíces utilizando el Matlab.

Solución:
» a = 1; b = 4; c = 5;
» X1 = (-b + sqrt ( b^2 - 4*a*c ) ) / (2*a)
» X1 =
− 2.0000 +1.0000 i

» X2 = (-b - sqrt ( b^2 - 4*a*c ) ) / (2*a)


» X2 =

14 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
− 2.0000 −1.0000 i

» X1^2 + 4*X1 + 5 % Comprueba la primera respuesta.


ans =
0
» X2^2 + 4*X2 + 5 % Comprueba la segunda respuesta.
ans =
0

Actividad Nº 15: Utilizando Matlab, hallar las raíces de las siguientes ecuaciones.

1. 12 x − 7 x 2 + 64 = 0 2. 15 x = 25 x 2 + 2
3. x 2 = −15 x − 56 4. 7 x 2 + 14 = 0
5. 4 x 2 = −32 x 6. x 2 − 10 x + 25 = 0
7. x 2 − 5x − 5 = 0 8. 5x 2 − 7 x + 8 = 0

Actividad Nº 16: Utilizando Matlab, determinar si los valores dados son raíces de la
ecuación que se especifica.

1
1. 1y − son las raíces de 2 x 2 − x − 1 = 0
2
1
2. 2 y − son las raíces de 5 x 2 − 11x + 2 = 0
5
1
3. -5 y − son las raíces de 5 x 2 + 24 x − 5 = 0
5
1 2
4. y − son las raíces de 6 x 2 + x − 2 = 0
2 3

1.1.7 Precedencia de las operaciones

La precedencia o jerarquía de las operaciones aritméticas en Matlab es la siguiente:


1. Paréntesis ( primero los más internos, en forma similar como en álgebra).
2. Potencias.
3. Productos y cocientes de igual jerarquía de izquierda a derecha.
4. Sumas y restas de igual jerarquía de izquierda a derecha.

EDGAR ENRIQUE HERRERA MORALES 15


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Ejemplo 11:
» Y = 2 ^ 3/2 + 5
Y=
9

Internamente Matlab ha realizado las siguientes operaciones:

Y = 2 ^ 3/2 + 5
8/2 + 5
4+5
9

Ejemplo 12:
» 7 * 3 + 5 +4/2 – 8
ans =
20

Internamente Matlab ha realizado las siguientes operaciones:

7 * 3 + 5 + 4/2 – 8

21 2

26

28

20

Actividad Nº 17: Evaluar en forma corriente las siguientes expresiones aritméticas y


luego evalúelas paso a paso teniendo en cuenta la precedencia de las operaciones.
1 5 19 5
1. e= 2. a = 6⋅ 3. b= +
5 2 4 4
 10  10 43
4. c = 2 ⋅  5. d = 2. 6. k=
4 4 2
  (17 + 37)  
7. l = 4 ⋅  5 −  (1+ 2)  
  3 

Evaluar cada una de las expresiones anteriores utilizando comandos Matlab.

16 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.3 Comandos básicos del Matlab

1.3.1 Comandos generales

La tabla que se muestra a continuación recoge algunos de las ordenes de propósito


general del Matlab. Algunas de estas ordenes fueron mencionadas y utilizadas en las
secciones y actividades anteriores.

COMANDO DESCRIPCIÓN
versión Versión: permite obtener información sobre la versión instalada del
Matlab
ver Licencia: muestra el número de licencia o de serie del programa
realmin Mínimo: permite obtener el número positivo más pequeño
(2.2251e-308)
realmax Máximo: permite obtener el número positivo más grande
(1.7977e+308)
eps Epsilon: permite obtener el epsilon de la máquina (2.2204e-016).
Número más pequeño tal que, cuando se le suma 1, crea un número
en punto flotante en el computador mayor que 1.
computer Computador: tipo de computador.
quit/exit Salir: permite cerrar el Matlab.
info Información: muestra información sobre Matlab y The MathWorks
expo Demostración: guía al usuario para que pueda ejecutar diversas
demo demostraciones que se eligen de un menú.
clc Despejar: despeja la ventana de comandos.
clf Despejar: despeja la ventana de gráficos.
clock Reloj: muestra la fecha y hora del sistema en el formato:
fix(clock) [año, mes, día, hora, minuto, segundo]
date Fecha: muestra la fecha del sistema en el formato: [día, mes, año]
tic Tiempo: permite medir el tiempo transcurrido entre dos eventos.
toc
path Camino: muestra la ruta de búsqueda vigente del Matlab.
path (cadena_nueva_ruta)
getenv(‘matlabpath’) Entorno: muestra las rutas de Matlab vigentes.
help Ayuda: permite obtener más información sobre los comandos del
help nom-comando Matlab.
diary on Diario: permite crear un archivo que contenga todo lo que se
diary off introduce por el teclado, así como la mayor parte de lo que se envía a
diary nom_archivo la pantalla.
whatsnew Muestra los archivos README de Matlab y de los tooboxes.
lookfor palabra-clave Permite encontrar ordenes y temas de ayuda dada una palabra clave
general.

Actividad Nº 18: Visualice en la pantalla las ordenes de propósito general del Matlab
digitando la orden: help general. Tome nota de estas ordenes con su respectiva función.

EDGAR ENRIQUE HERRERA MORALES 17


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Actividad Nº 19: Ponga en práctica los comandos contenidos en la tabla anterior que
aún no ha trabajado y otros comandos encontrados en la actividad anterior. Asegúrese de
entender cada comando y si tiene dudas sobre algunos de estos comandos utilice la
ayuda suministrada por Matlab para cada uno de ellos, digitando la orden: help nombre-
comando. Tome nota de estas ordenes con su respectiva utilidad y sintaxis.

1.3.2 Entrada de datos (lectura) al Matlab

Existen varias formas para asignar valores a las matrices en Matlab:


• Lista explícita de valores (instrucción de asignación)
• Operador de dos puntos
• Valores y matrices especiales
• Lectura desde el teclado
• Lectura de un archivo
• Empleo de la orden load

Listas explícitas:

En Matlab es posible definir una matriz listando sus elementos:


A=[5, 7, 3; 2, 9, 1]; B=[2, 5];

En Matlab es posible definir una matriz a partir de otra:


C=[2, 5, B]; D=[2,1,7;3,7,9;A];

En Matlab es posible modificar los datos de una matriz:


B(2)=9; A(1,2)=8;

En Matlab es posible incrementar las dimensiones de un vector:


B(5)=7;

El operador de dos puntos:

El operador dos puntos permite crear matrices nuevas así:

a). Si se usa un signo de dos puntos en una referencia de matriz en lugar de un subíndice
específico, el signo de dos puntos representa a toda la fila o columna.
X=A(: , 3); aquí el vector X contiene la tercera columna de A.
Y=A(2, : ); aquí el vector Y contiene la segunda fila de A.

18 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
b). Si se usa un signo de dos puntos para separar dos números enteros, se generan todos
los enteros entre los dos enteros especificados.
Z=1:9; aquí el vector Z contiene los números de 1 al 9.

c). Si se usa un signo de dos puntos para separar tres números, se generan valores entre
el primer y tercer número, usando el segundo número como incremento.
T=0.0:0.5:5.0; aquí el vector T contiene los números de 0 al 5 en incrementos
de 0.5

d). El operador de dos puntos también puede servir para seleccionar una submatriz de
otra matriz.
W=A(3:4, 1:2); aquí la matriz W contiene los elementos de la matriz A situados
desde la tercera hasta la cuarta fila y desde la primera hasta la segunda columna.

Valores y matrices especiales:

Matlab incluye varias constantes predefinidas, valores especiales y matrices especiales:


a). Constantes predefinidas:

COMANDO DESCRIPCIÓN
ans Valor calculado por una expresión pero no almacenado en una
variable, p.e., 4*5
nan Magnitud no numérica (Not-a-Number), p.e., 0/0
inf Infinito, p.e., 1/0

b). Valores especiales:

COMANDO DESCRIPCIÓN
pi Número pi
i, j Raiz cuadrada de –1
realmin Número real positivo más pequeño que es utilizable
realmax Número real positivo más grande que es utilizable

c). Matrices especiales:

COMANDO DESCRIPCIÓN
[] Matriz vacía
zeros(n,m) Matriz de ceros
ones(n,m) Matriz de unos
eye(n,m) Matriz identidad
rand(n,m) Matriz de números aleatorios entre 0 y 1
randn(n,m) Matriz de números aleatorios distribuidos normalmente con media 0 y
varianza 1

EDGAR ENRIQUE HERRERA MORALES 19


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Lectura desde el teclado:

Los valores de una matriz también pueden introducirse a través del teclado usando el
comando input, que exhibe una cadena de texto y luego espera entradas del usuario.

COMANDO DESCRIPCIÓN
X=input(‘mensaje’) Permite introducir uno o varios valores. Si se van a introducir
varios valores deben encerrarse entre corchetes. Ej.
input(‘Digite el radio’)
Ej. input(‘Digite edad, peso y estatura’)
X=input(‘mensaje’, ‘s’) Permite introducir una cadena de caracteres.
Ej. input(‘Digite nombre y apellidos ’, ‘s’);

OBSERVACIONES

La lectura desde un archivo de datos se verá en detalle en una sección posterior y el


empleo de la orden load ya fue considerado en una sección anterior.

Actividad Nº 20: Calcule el volumen de una esfera de radio 2 m, utilizando la orden


input.

1.3.3 Salida de datos (escritura) del Matlab

Existen varias formas para extraer y/o presentar los valores contenidos en las matrices:
• Empleo de los comandos disp y fprintf
• Escritura en un archivo
• Empleo de la orden save

Empleo de los comandos disp y fprintf:

COMANDO DESCRIPCIÓN
disp(X); disp(‘mensaje’) Permite exhibir texto encerrado entre apóstrofos. También permite
exhibir el contenido de una matriz sin tener que especificar un
nombre de variable. Ej. disp(T); disp(‘Grados’)
fprintf(‘formato’, matriz) Permite exhibir tanto texto como valores de matrices y especificar
el formato que se usará para visualizar los valores y también saltos
de línea. El formato contiene el texto y las especificaciones
(%n.me, para notación exponencial; %n.mf, para notación decimal;
%n.mg, para notación exponencial o decimal) para las salidas. El
valor de n indica el número de cifras totales y el valor de m el
número de cifras decimales.
Ej. fprintf(‘Tempratura de %4.2f Grados \n’, T)

20 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
Escritura en un archivo:

Es posible utilizar el comando fprintf para escribir salidas con formato en un archivo.
Para ello, se incluye el nombre del archivo en el argumento del comando, y el formato
sería:

fprintf(‘nom-archivo’, ‘Tempratura de %4.2f Grados \n’, T)

Este comando escribirá la salida en el archivo nom-archivo. Si no existe el archivo, se


creará uno nuevo; si existe, la salida se anexará al final de su contenido. Si ya existe el
archivo, es posible eliminarlo con una de las siguientes ordenes:

!erase nom-archivo

delete nom-archivo.

OBSERVACIONES

El empleo de la orden save ya fue considerado en una sección anterior.

Formato de la salida:

Si se desea especificar un formato numérico para visualizar resultados, se debe utilizar


la orden format, la cual se resume a continuación.

COMANDO DESCRIPCIÓN
format {short/long/bank/short e/ Permite especificar la forma y el número de cifras
long e/+/rat/hex} decimales con que se visualizarán los valores
(Short: 4 dígitos decimales, long: 14 dígitos
decimales, bank: 2 dígitos decimales, etc)

El Matlab no cambia la representación interna de un número cuando se escogen


diferentes formatos, sólo se modifica la visualización del número.

EDGAR ENRIQUE HERRERA MORALES 21


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.4 Funciones matemáticas comunes del Matlab

1.4.1 Funciones predefinidas

Matlab proporciona 20 categorías principales de funciones. Algunas funciones de


Matlab están construidas en el interprete, mientras que otras tienen la forma de archivos
M. Las funciones M-file están organizadas en 20 directorios, cada uno de los cuales
contiene los archivos asociados con una categoría. La orden help de Matlab visualiza
una tabla con las categorías principales. Si se ejecuta la orden help con uno de los
nombres de los directorios de funciones, Matlab muestra una versión de las tablas
incluidas en esa área.

FUNCION DESCRIPCIÓN
Funciones básicas
abs(x) Valor absoluto
sqrt(x) Raíz cuadrada
rem(x,y) Módulo (residuo de dividir x entre y)
sign(x) Función signo: -1si x<0; 0 si x=0; +1 si x>0
Funciones exponenciales
exp(x) Exponencial ex
Funciones logarítmicas
log(x) Logaritmo natural
log10(x) Logaritmo decimal
log2(x) Logaritmo en base 2
Funciones de números complejos
conj(x) Complejo conjugado
real(x) Parte real de un número complejo
imag(x) Parte imaginaria de un número complejo
abs(x) Magnitud de un número complejo
angle(x) Angulo de un número complejo
Funciones trigonométricas
sin(x) Seno
cos(x) Coseno
tan(x) Tangente
asin(x) Arcoseno
acos(x) Arcocoseno
atan(x) Arcotangente
Funciones hiperbólicas
sinh(x) Seno hiperbólico
cosh(x) Coseno hiperbólico
tanh(x) Tangente hiperbólico
asinh(x) Seno hiperbólico inverso

22 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
acosh(x) Coseno hiperbólico inverso
atanh(x) Tangente hiperbólico inverso
Funciones varias
round(x) Redondea x al entero más cercano
fix(x) Redondea x al entero más cercano a 0
floor(x) Redondea x al entero más cercano a -infinito
ceil(x) Redondea x al entero más cercano a +infinito
rand(‘seed’, k) Inicializa el generador de números aleatorios, utilizando k
como semilla (k >1)
gcd(n1, n2) Encuentra el MCD de dos números
lcm(n1, n2) Encuentra el MCM de dos números
factor(n) Encuentra los factores primos de un número
lower Convierte una cadena a minúsculas
upper Convierte una cadena a mayúsculas

Actividad Nº 21: Visualice en la pantalla las funciones matemáticas elementales del


Matlab digitando la orden: help elfun. Tome nota de estas funciones con su respectiva
descripción (traduzca, entienda y redacte con sus propias palabras).

Actividad Nº 22: Ponga en práctica las funciones matemáticas contenidas en la tabla


anterior y otras funciones encontradas en la actividad anterior. Asegúrese de entender
cada función y si tiene dudas sobre algunas de estas funciones utilice la ayuda
suministrada por Matlab para cada una de ellas, digitando la orden: help nombre-
función. Tome nota de estas funciones con su respectiva utilidad y sintaxis. Se debe
tener en cuenta que el Matlab sólo opera en radianes.

1.4.2 Funciones definidas por el usuario

Tarde o temprano se encontrará con situaciones en que serán insuficientes las funciones
proporcionadas por Matlab. El Matlab le permite al usuario crear sus propias funciones.

Las funciones en Matlab se guardan en archivos M independientes y equivalen a las


rutinas y funciones de otros lenguajes.

En el capítulo dos, que trata sobre los archivos de ordenes, se retomará y se ampliará el
tema de las funciones definidas por el usuario, así que por el momento dejaremos este
tema de este tamaño.

EDGAR ENRIQUE HERRERA MORALES 23


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.5 Vectores y matrices

Es oportuno recordar aquí que las capacidades del Matlab se basan en las operaciones de
vectores y matrices, lo cual hace indispensable su estudio y comprensión. En una
sección anterior se mencionaron algunas matrices especiales en Matlab.

1.5.1 Manipulación matricial

Los vectores y matrices se introducen en Matlab de la siguiente manera:

Vector fila:
A=[7, 2, 9, 5 ];

Vector columna:
B=[ 2; 5; 7; 6];

Matriz:
C=[3, 7, 6; 1, 8, 2; 5, 4, 9];

También es posible crear arreglos de las formas siguientes:

A=linspace(primer_valor, último_valor, número_ de_valores)

A= primer_valor:incremeto:último_valor

Actividad Nº 23: Visualice en la pantalla una tabla de conversión de grados a radianes


desde 0o hasta 360o con incrementos de 10o. Recuerde que π=360o. Utilice el operador
de trasponer si es necesario. Incluya una cabecera de tabla y cabeceras de columna.
Escoja un número apropiado de posiciones decimales para los valores.

Actividad Nº 24: Visualice en la pantalla una tabla de conversión de centímetros a


pulgadas desde 0 cm hasta 50 cm con incrementos de 2cm. Recuerde que 1 pulgada =
2.54 cm. Utilice el operador de trasponer si es necesario. Incluya una cabecera de tabla y
cabeceras de columna. Escoja un número apropiado de posiciones decimales para los
valores.

Actividad Nº 25: Visualice en la pantalla una tabla de conversión de grados Celsius a


grados Fahrenheit. Permita al usuario introducir la temperatura inicial, la final y el
incremento. Recuerde que F=9/5*C+32. Utilice el operador de trasponer si es necesario.
Incluya una cabecera de tabla y cabeceras de columna. Escoja un número apropiado de
posiciones decimales para los valores.

24 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
1.5.2 Operaciones básicas con arreglos

Operaciones con arreglos en Matlab que tienen la misma longitud:


Las operaciones se aplican sobre la base de elemento a elemento.

Ejemplos:
A+B A-B 2*A-B
A.*B
A./B o B.\*A
A.^B A.^5 5.^B

Actividad Nº 26: Evalúe las operaciones indicadas anteriormente utilizando los


vectores siguientes: A=[5, 4, 6, 7], B=[2, 1, 0, 3].

Operaciones con arreglos en Matlab que tienen diferente longitud:


Las operaciones son difíciles de definir.

La traspuesta de una matriz en Matlab se obtiene colocando un punto y un apóstrofo


después de la matriz (ejemplo: A . ‘ ).

Si se desea crear una matriz del mismo tamaño de otra matriz existente A, entonces se
pueden utilizar las siguientes funciones:

B=zeros(size(A)) B=ones(size(A))
B=eye(size(A)) B=rand(size(A))

1.5.5 Funciones matriciales

El Matlab cuenta con una serie de funciones útiles para la manipulación matricial, tal
como lo podemos apreciar en la siguiente actividad.

Actividad Nº 27: Visualice en la pantalla las funciones matriciales elementales del


Matlab digitando la orden: help matfun. Tome nota de estas funciones con su respectiva
descripción (traduzca, entienda y redacte con sus propias palabras).

FUNCION DESCRIPCIÓN
size(A) Retorna la dimensión de una matriz
length(A) Retorna la longitud de un vector o la máxima dimensión de una matriz.
max(A) Determina el valor más grande contenido en A. Si A es una matriz, la función
devuelve un vector fila que contiene el máximo elemento de cada columna.
max(A, B) Determina una matriz del mismo tamaño de A y B. Cada elemento de la matriz
contiene el valor máximo de las posiciones correspondientes en A y B.

EDGAR ENRIQUE HERRERA MORALES 25


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS
[m, p]=max(A) Determina los valores máximos de A y los índices correspondientes del primer
valor máximo de cada columna de A.
min(A) Determina el valor más pequeño contenido en A. Si A es una matriz, la función
devuelve un vector fila que contiene el mínimo elemento de cada columna.
min(A, B) Determina una matriz del mismo tamaño de A y B. Cada elemento de la matriz
contiene el valor mínimo de las posiciones correspondientes en A y B.
[m, p]=min(A) Determina los valores mínimos de A y los índices correspondientes del primer
valor mínimo de cada columna de A.
sum(A) Determina la suma de los elementos de A. Si A es una matriz, esta función
devuelve un vector fila que contiene la suma de cada columna.
prod(A) Determina el producto de los elementos de A. Si A es una matriz, esta función
devuelve un vector fila que contiene el producto de cada columna.
cumsum(A) Determina un vector del mismo tamaño de A que contiene las sumas acumuladas
de los valores de A. Si A es una matriz, esta función devuelve una matriz del
mismo tamaño de A que contiene las sumas acumuladas de los valores de las
columnas de A.
cumprod(A) Determina un vector del mismo tamaño de A que contiene los productos
acumulados de los valores de A. Si A es una matriz, esta función devuelve una
matriz del mismo tamaño de A que contiene los productos acumulados de los
valores de las columnas de A.
sort(A) Devuelve un vector con los valores de A en orden ascendente. Si A es una matriz,
esta función devuelve una matriz del mismo tamaño con cada columna en orden
ascendente.
mean(A) Calcula el valor promedio de los elementos de A. Si A es una matriz, esta función
devuelve un vector fila que contiene el valor promedio de cada columna de A.
median(A) Calcula la mediana de los elementos de A. Si A es una matriz, esta función
devuelve un vector fila que contiene la mediana de cada columna de A. Los
valores de A no es necesario que estén ordenados.
std(A) Calcula la desviación estándar de los elementos de A. Si A es una matriz, esta
función devuelve un vector fila que contiene la desviación estándar de cada
columna de A.
inv(A) Calcula la inversa de una matriz.
det(A) Calcula el determinante de una matriz.
rank(A) Devuelve el rango de la matriz.
A.’ Devuelve la transpuesta de la matriz.
A’ Devuelve la transpuesta compleja conjugada de la matriz.
eig(A) Devuelve los valores propios asociados con la matriz cuadrada A como un vector
columna.

Actividad Nº 28: Ponga en práctica las funciones matriciales contenidas en la tabla


anterior y otras funciones encontradas en la actividad anterior. Asegúrese de entender
cada función y si tiene dudas sobre algunas de estas funciones utilice la ayuda
suministrada por Matlab para cada una de ellas, digitando la orden: help nombre-
función. Tome nota de estas funciones con su respectiva utilidad y sintaxis.

26 EDGAR ENRIQUE HERRERA MORALES


HERNANDO LAVADO LEAL
LUIS ANTONIO EGEA VARGAS

Vous aimerez peut-être aussi