Sunteți pe pagina 1din 49

®

MATLAB 6.1
ANÁLISIS NUMÉRICO, MATEMÁTICA SIMBÓLICA Y
VISUALIZACIÓN GRÁFICA
para ciencias e ingeniería

CURSO BÁSICO INTRODUCTORIO

Ing. Benedicto Medina V.


Docente Titular
IUT Agro-Industrial“Región los Andes”
Departamento de Electrónica Industrial
San Cristóbal, Enero 2003
2

1.- OBJETIVO:

El programa MATLAB® puede considerarse como un lenguaje de programación, tal


como lo es el C, Fortran o Basic, que se distingue en si por una serie de características
notables para los análisis numéricos, entre las cuales se pueden citar:

.- La programación es mucho más sencilla.


.- Hay continuidad entre valores enteros, reales y complejos.
.- La amplitud de intervalo y la exactitud de los números son mayores.
.- Presenta una biblioteca matemática amplia.
.- Presenta abundantes herramientas gráficas.
.- Incluye funciones de interfaz gráfica con el usuario.
.- Presenta capacidad de vincularse con lenguajes de programación clásicos.

Una característica importante del manejo de números con MATLAB® es que no hay
distinción entre reales, complejos, enteros, de precisión sencilla o precisión doble.
Todos estos números, en MATLAB, están conectados continuamente, como debe ser.
Esto significa que en MATLAB cualquier variable puede contener números de cualquier
tipo sin una declaración especial durante la fase de programación, lo cual hace ésta más
fácil, rápida y productiva. En otros programas, Fortran por ejemplo, se requiere la
declaración de una subrutina distinta para cada tipo de variable sencilla o doble, real o
compleja o entera, mientras que con MATLAB no es necesario el separarlas.

La biblioteca matemática de MATLAB facilita los análisis matemáticos. El usuario


puede crear rutinas matemáticas adicionales con mucha mayor facilidad que con
cualquier otro lenguaje de programación, ello es debido a la continuidad entre las
variables reales y complejas.

La comprensión de las soluciones a los problemas matemáticos se facilita con el análisis


visual de los mismos. La presentación de resultados gráficos con MATLAB resultan
bastantes sencillos, ello gracias a que el programa posee unos cuantos comandos que
facilitan la producción de presentaciones gráficas del análisis matemático. Es posible
crear objetos gráficos científicos e incluso artísticos en la pantalla del PC mediante
expresiones matemáticas. Hay demostraciones de que las gráficas generadas a través de
MATLAB motivan e incluso excitan al estudiante para aprender métodos matemáticos y
numéricos que de otra forma resultarían tediosos. MATLAB permite el procesamiento
de imágenes así como la producción de películas animadas tanto como para cálculos
científicos como para la producción de material artístico o de aficiones.

En la enseñanza profesional técnica universitaria el programa tiene su aplicación en


cursos de Electrónica, Sistemas de Control, Sistemas Lineales, Procesamiento de
Señales, Comunicaciones, Instrumentación Industrial, Análisis y Métodos Numéricos,
etc. El programa en si presenta un elevado potencial de aplicaciones especificas,
desarrolladas por especialistas de universidades y centros de estudios profesionales de
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
3

todo el mundo, siendo tantos y tan variados los campos de conocimientos, que se hace
prácticamente imposible el aprender a usar todo el programa en si.

El objetivo de la presente guía introductoria de MATLAB® v6.1, es el lograr en el


participante un conocimiento básico y a su vez la habilidad para el manejo del programa,
así como conocer la amplia aplicación del mismo en el campo de las cie ncias e
ingeniería. Al finalizar su estudio se estará en capacidad de realizar programas en
MATLAB, versión 6.1, así como el comprender y aplicar estas herramientas que se
están incorporando cada vez más en la enseñanza profesional técnica universitaria a
través de libros revistas, manuales, folletos e internet.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
4

2.-¿QUE ES MATLAB ?

MATLAB es un programa o lenguaje de computación técnica de alto rendimiento para


cómputos numéricos y visualización gráfica, que integra: análisis numérico, cómputo de
matrices, procesamiento de señales y gráficas en un ambiente fácil de usar; y donde los
problemas y sus soluciones se expresan tal como se haría n matemáticamente, es decir
sin una programación tradicional.

El nombre de MATLAB® deriva de la contracción de MATRIX LABORATORY.

El programa en si puede considerarse como un sistema interactivo, cuyo elemento básico


es una ma triz que no requiere de dimensio namiento, característica que permite al usuario
resolver muchos problemas numéricos en una fracción del tiempo que le llevaría el
escribir un programa en uno de los lenguajes tradicionales de programación. (Fortran,
Basic, C, C++, etc.). El programa ha evolucionado a través de los años con el aporte de
programadores y usuarios. En la enseñanza universitaria, MATLAB se ha convertido en
una herramienta fundamental en curso de álgebra y matemáticas, al igual que en cursos
básicos y avanzados de diferentes áreas del conocimiento técnico-científico. En el
ambiente industrial, MATLAB es usado para la investigación y la solución de problemas
prácticos de ingeniería.

El programa MATLAB® está conformado por una serie de aplicaciones agrupadas en lo


que se denomina “Caja de Herramientas” o “Toolboxes”. Estas cajas de herramientas
son, en si, agrupaciones de funciones, códigos o macros de MATLAB, conocidos “M-
files”, desarrollados por investigadores y usuarios de MATLAB®, los cuales son de fácil
comprensión y uso, y extienden el ambiente del programa con la finalidad de resolver
situaciones o áreas especificas de problemas.

Entre las áreas para las cuales existen “Cajas de Herramientas” o “Toolboxes” se tienen,
entre otros, los siguientes campos: Procesamiento de Señales, Control de Procesos,
Sistemas de Identificación, Comunicaciones, Sistemas de Adquisición de Datos,
Matemática Simbólica, Diseños de Filtros (Analógicos o Digitales), Finanzas, Lógica
Difusa, Redes Neuronales, Procesamiento de Imágenes, Realidad Virtual, Estadísticas,
Optimización, etc.

El programa MATLAB® cuenta además con una herramienta para el modelaje,


simulación y análisis de sistemas dinámicos, conocida como SIMULINK, el cual es un
subprograma que permite realizar todo lo que se puede hacer con MATLAB en un
ambiente gráfico (diagrama de bloque). Con Simulink se puede realizar, simular y
analizar sistemas lineales y sistemas no lineales, modelados en tiempo continuo o
discreto o en una combinación de los dos. También se han desarrollado tarjetas de
adquisición de datos que permiten procesar información directamente (en tiempo real)
desde sistemas físicos con MATLAB.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
5

3.- CONOCIENDO EL PROGRAMA MATLAB ® v6.1

Para un efectivo aprovechamiento de las bondades que presenta el programa MATLAB,


es necesario el conocer inicialmente sobre los tipos de ventanas con los que se
encontrará el usuario comúnmente. Estos tipos de ventanas son: la Ventana de
Comandos, en la cual generalmente se escriben las instrucciones o comandos y se
obtienen los resultados de cálculo; las Ventanas de Figuras, donde se muestran las
gráficas que ejecuta el programa según las instrucciones que se le indiquen en la
Ventana de Comando; la Ventana de Edición y Corrección, en la cual se pueden escribir
programas o guiones, editarlos, corregir errores de sintaxis o de ejecución y ejecutarlos
posteriormente desde la Ventana de Comandos; la Ventana de Modelo, la cual permite el
uso del subprograma SIMULINK, y la Ventana de Interfaz Gráfica de usuario.

Figura 1. Ventana de Comandos de MATLAB v6.1:

Figura 2. Ventana de Figuras de MATLAB v6.1:

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
6

Figura 3. Ventana de Edición y Corrección de MATLAB v6.1:

Figura 4. Ventana de Modelo de MATLAB v6.1:

Figura 5. Ventana de Interfaz Gráfica de usuario.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
7

Además existe otra Ventana de llamado especial y la cual permite hacer uso de uno de
los comandos especiales de MATLAB, el comando DEMOS. Esta ventana se llama
desde la Ventana de Comandos a través de la ejecución de la siguiente instrucción:
>> help demos

Figura 6. Ventana de Demos de MATLAB v6.1

Menús de la Ventana de Comandos:

Al abrir, desde el Botón Inicio de Windows, el programa MATLAB v6.1, aparece la


Ventana de Comandos de MATLAB, tal como se muestra en la figura 1., ésta Ventana
es la pizarra o espacio de trabajo del programa, en ella se introducen los datos a procesar
y las instrucciones a ejecutar y se presentan los resultados analíticos. Una vez abierta
ésta Ventana aparece el siguiente signo: >>, el cual es el PROMPT de MATLAB,
indicando que el programa está esperando instrucciones para iniciar su ejecución. La
Ventana de Comando despliega los siguientes menús:

File: presenta las siguientes opciones:

New: permite según la opción escogida:


M-file: abrir una nueva Ventana de Edición y Corrección.
Figure: abrir una nueva Ventana de Gráfico.
Model: abrir una nueva Ventana de Simulink.
GUI: abrir una nueva Ventana de Interfaz Gráfica de Usuario.
Open: abre en la Ventana de Edición (Editor) el archivo de extensión **.m selec-
cionado.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
8

Close Command Window: apaga la Ventana de Comandos.


Import Data: permite importar archivos desde carpeta predeterminada.
Save Workspace As: permite grabar en un archivo **.mat, las variables que se
encuentran en el espacio de trabajo (Ventana de Comandos)
Set Path: presenta un doble listado de archivos: directorios y contenidos, permite
modificar la ruta de acceso a estos archivos.
Preference: permite seleccionar el formato numérico, predeterminar el editor, el
tipo de letra, y las opciones de copiado
Print: permite la impresión del co ntenido de la Ventana de Comandos.
Print Selection: permite imprimir solamente la parte seleccionada del conténi
do de la Ventana de Comandos.
Exit MATLAB : permite salir del programa MATLAB.

Edit: presenta los submenús tradicionales de Windows: Undo; Redo; Cut; Copy; Paste;
Paste Special; Select All, Delete., y adicionalmente los siguientes:
Clear Command Window: limpia la Ventana de Comandos, llevando el >>
a la parte superior izquierda de la pantalla.
Clear Comand History: borra el historial de comandos.
Clear Workspace: borra la variables introducidas en la Ventana de Comandos.

La Ventana de Comandos presenta también los menús mostrados en la barra de


herramientas mostrada a continuación:

Figura 6. Barra de Herramientas de la Ventana de Comandos de MATLAB v6.1

En esta barra de herramientas tal como puede observarse, se encuentran los menús que
dan acceso a funciones tradicionales de Windows y que permiten acceder a las variables
que se encuentran en la Ventana de Comandos, así como para visualizar y modificar
rutas de acceso, iniciar trabajo con el Simulink, conectarse a páginas web en busca de
apoyo técnico, abrir los comandos de ayuda propia de programa, etc.

En el submenú de Preferences, del menú File, se puede seleccionar el formato numérico


para la presentación de las respuestas de las operaciones matemáticas, entre las opciones
que se presentan se tienen: para formato numérico: short (notación de punto fijo de 5
dígitos); long (notación de punto fijo de 15 dígitos); short e (notación de punto flotante
de 5 dígitos mas exponente); long e (notación de punto flotante de 15 dígitos más
exponente); short g y long g ( muestran la mejor aproximación entre punto fijo y punto
flotante); hex (hexadecimal); bank (dos cifras decimales) ; + (signo +, - ó 0 según el
caso), rational (presentación en forma de fracción). Para formato de presentación

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
9

(display format) se presentan las opciones: loose (deja espacio en blanco después de
cada instrucción ejecutada); compact (no deja espacio después de cada instrucción
ejecutada).

Algunos Comandos de Interés en el uso de MATLAB v6.1:


>> help: presenta una explicación precisa y concisa de los comandos a ejecutar, por
ejemplo si se desea saber que hace el comando help, se procede en la ventana de
comandos de MATLAB a escribir:
>> help help y luego pulsar la tecla ENTER , el resultado de la ejecución de éste
comando es el siguiente:

>> help help

HELP On-line help, display text at command line.


HELP, by itself, lists all primary help topics. Each primary topic
corresponds to a directory name on the MATLABPATH.

"HELP TOPIC" gives help on the specified topic. The topic can be a
command name, a directory name, or a MATLABPATH relative partial
pathname (see HELP PARTIALPATH). If it is a command name, HELP
displays information on that command. If it is a directory name,
HELP displays the Table-Of-Contents for the specified directory.
For example, "help general" and "help matlab/general" both list
the Table-Of-Contents for the directory toolbox/matlab/general.

HELP FUN displays the help for the function FUN.

T = HELP('topic') returns the help text in a '\n' separated string.

LOOKFOR XYZ looks for the string XYZ in the first comment line
of the HELP text in all M-files found on the MATLABPATH. For all
files in which a match occurs, LOOKFOR displays the matching lines.

MORE ON causes HELP to pause between screenfuls if the help text


runs to several screens.

In the online help, keywords are capitalized to make them stand


out. Always type commands in lowercase since all command and
function names are actually in lowercase.
For tips on creating help for your m-files 'type help.m'.
See also LOOKFOR, WHAT, WHICH, DIR, MORE
Overloaded methods
help cvtest/help.m
help cvdata/help.m
>>
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
10

Versión: uno de los primeros conocimientos que el usuario de MATLAB debe tener
sobre el programa, es la versión que está usando, para obtener ésta información se hace
uso del comando version
>> version

ans =

6.1.0.450 (R12.1)

>>

El comando clock da como resultado de su ejecución: el año, mes, día, hora, minuto y
segundo, en un formato de vector fila: [año, mes, día, hora, minuto, segundo].
>> clock

ans =

1.0e+003 *

2.0030 0.0020 0.0010 0.0120 0.0200 0.0149

>>

La misma información puede obtenerse utilizando un formato entero con fix(clock):


>> fix(clock)

ans =

2003 2 1 12 22 40

>>

El comando date proporciona la fecha en un formato simple:


>> date

ans =

01-Feb-2003

>>

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
11

Asignación de Variables a Operaciones Aritméticas: El programa MATLAB opera como


una calculadora realizando operaciones aritméticas y las asigna a una variable de
respuesta identificada como: ans, tal como pudo observarse en los casos anteriores y en
los casos siguientes:

>> 2+3 % operacion de suma


ans =
5

>> 53.24*13.5 % operacion de multiplicacion


ans =
718.7400

>> 1234-785 % operacion de resta


ans =
449

>> 456/432 % operacion de division


ans =
1.0556

>> 23^2 % operacion de potenciacion


ans =
529

>> sqrt(25) % operacion de raiz cuadrada


ans =
5

>> exp(1) % operacion de elevar el numero de euler a una potencia (1 en este


caso)
ans =
2.7183

>> 5+3i % suma de un real y un imaginario, formar un complejo.


ans =
5.0000 + 3.0000i

>> sqrt(-9) % raiz cuadrada de un numero negativo


ans =
0 + 3.0000i

>> pi % llamado del numero pi


ans =
3.1416
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
12

Una manera de familiarizarse con el ambiente de MATLAB y aprender a trabajar con el,
es mediante la utilización y estudio de las demostraciones que trae el programa.
Seguidamente se presentan algunas de ellas:

3.a.- Ejecución de instrucción: >> intro


El programa responderá con un tour a través de algunas opciones disponibles,
observe las líneas de comando, las de comentarios y las respuestas del programa.

3.b.- Ejecución de instrucción : >> lorenz


Presenta una de las herramientas gráficas del programa.

3.c.- Ejecución de instrucción: >> census


Muestra algunas de las capacidades del programa para el ajuste de curvas y
predicciones.

3.d.- Ejecució n de instrucción: >> spline2d


Muestra un método de entrada de datos por pantalla para construir una curva.

3.e.- Ejecución de instrucción: >> bench


Permite al programa medir la velocidad de la computadora que Ud. usa y la
compara con otras marcas reconocidas.

3.f.- Ejecución de instrucción: >> demos


Ejecuta un paseo mostrando los distintos toolboxes de MATLAB y su
potencialidad de aplicación.

3.g.- Ejecución de instrucción: >> clear,clc


Limpia la ventana de comandos de todo lo escrito en ella, al ejecutarse ésta
instrucción el Promt (>>) aparecerá en la parte superior de la Ventana de
Comandos.

3.h.- Ejecución de instrucción: >> echo on


Esta instrucción usada antes de ejecutar un archivo **.m, permite ver las líneas
de comandos en la medida en que se van ejecutando. Se suspende con el comando
echo off.

Nota: Todas las instrucciones que se han ejecutado desde la Ventana de Comandos, tal
como puede observarse, se han escrito en minúsculas, ello motivado a que ésta es la
forma predeterminada de MATLAB. Si las instrucciones o comandos de ejecución se
escriben en mayúsculas, el programa emitirá un mensaje de error :

>> CLEAR
??? Capitalized internal function CLEAR; Caps Lock may be on.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
13

4.- INICIANDO CÁLCULOS con MATLAB v6.1

4.1.- Cálculos con una Variable Simple : El programa MATLAB permite la ejecución de
cálculos de parámetros a través de operaciones matemáticas que realiza en forma
secuencial, es decir conforme se vaya n introduciendo los comandos o instrucciones y los
datos respectivos. Como ejemplo, se considerará el caso en que se quiere calcular el
volumen de una esfera de radio r (es importante el tener en cuenta que al definir
variables al programa, el mismo diferencia entre letras mayúsculas y letras minúsculas.
Para MATLAB la variable r es diferente de la variable R). La formula que permite el
cálculo del volumen de una esfera de radio r, es la siguiente:
4
vol = * π * r 3
3
si el radio de la esfera es 2, la ejecución con MATLAB es la siguiente:

>> r=2; % Definicion del radio de la esfera


>> vol=(4/3)*pi*r^3; % Definicion de la ecuacion para el calculo del volumen
>> vol

vol =

33.5103

En ésta ejecución puede observarse que, después de la declaración bien sea de datos o
instrucción de ejecución aparece el signo ; el cual permite que una vez pulsada la tecla
ENTER, la variable y el valor declarado no aparezcan en la ventana una vez que han
sido registrados. De igual forma puede introducirse un comentario después del signo %
Para obtener el valor del resultado se le solicita al programa escribiendo la
correspondiente variable a calcular (vol en éste caso) y pulsando la tecla ENTER.
MATLAB solamente acepta una instrucción por línea, pero en una misma línea puede
escribirse dos o más instrucciones si se separan cada una por medio del signo ; . Se debe
pulsar la tecla ENTER cada vez que se requiera la ejecución de una línea de instrucción
o comando.

Otra forma de ejecutar el cálculo anterior sería:

>> r=2; % Definicion del radio de la esfera


>> vol=(4/3)*pi*r^3 % Definicion de la ecuacion para el calculo del volumen

vol =

33.5103

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
14

En esta ejecución puede observarse que después de declarada la expresión para el


cálculo de vol, no aparece el signo; por lo que al pulsar la tecla ENTER aparece el
resultado de la operación.
Otra forma de efectuar la operación anterior con MATLAB será:

>> r=2;vol=(4/3)*pi*r^3 % Calculo del volumen de una esfera

vol =

33.5103

En este caso se están escribiendo las dos instrucciones en una sola línea de instrucción,
separadas por ;. Puede observarse que la segunda parte de la línea de instrucción no
finaliza con ; por lo que el resultado de la operación aparece una vez pulsada la tecla
ENTER.

Si se quiere que aparezcan como registrados los datos y variables cada vez que se
introduce una línea de instrucción, se efectúa la operación de la forma siguiente:

>> r=2 % Definicion del radio de la esfera

r=

>> vol=(4/3)*pi*r^3 % Definicion de la ecuacion para el calculo del volumen

vol =

33.5103

o escribiendo las instrucciones en una sola línea:

>> r=2,vol=(4/3)*pi*r^3 % Calculo volumen de una esfera

r=

vol =

33.5103

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
15

puede observarse en este caso que las instrucciones se separan por una coma (,) lo que
permite escribir dos o más instrucciones en la misma línea.

4.2.- Operadores Aritméticos en MATLAB: Los operadores aritméticos usados en


MATLAB para la suma, resta, multiplicación y división son los mismos usados en los
lenguajes de programación tradicionales como Fortran o Basic. Los respectivos
operadores o signos para las operaciones de suma, resta, multip licación y división son
respectivamente los siguientes:

Suma =è operador: “+”


Resta =è operador: “- ”
Multiplicación =è operador: “*”
División =è operador: “/ ”
División Inversa =è operador: “\” ; éste operador produce el resul-
tado reciproco de la división.

Ejemplos de operaciones aritméticas:

>> a=125;b=235;c=100;d=456;
>> x=(a+b)*c-d

x=
35544

>> y=(a/b-c)*d

y=
-4.5357e+004

>> Y=a/b

Y=
0.5319

>> Z=b\a

Z=
0.5319

>>

Nota: el operador \ (división inversa o reciproca) es de gran utilidad en aplicaciones de


álgebra lineal; no es conveniente su uso en cálculos ordinarios.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
16

4.3.- Operadores Lógicos: Los operadores lógicos: mayor que, mayor o igual que, menor
que, menor o igual que, diferente de, se representan en MATLAB según la siguiente
simbología:

Operador Lógico: Simbología:


“mayor que” “>”
“mayor o igual que” “ >= ”
“menor que” “<”
“menor o igual que” “ <= ”
“diferente de” “ -= ”

4.4.- Variables y nombres de Variables: En MATLAB no es necesario declarar los


nombres de las variables ni sus tipos. Ello se debe a que los nombres de las variables en
MATLAB no son diferentes para las variables enteras, reales o complejas. Cualquier
variable puede tomar valores reales, enteros o complejos.

Es tradicional el uso de los símbolos i, j, k, l, m y n como variables enteras o índices.


Debe tenerse presente que la i y la j, son utilizadas en MATLAB para denotar el valor
imaginario unitario, − 1 . Existen, igualmente en MATLAB nombres de variables
reservados que tienen un significado o valor particular o especial, tal como se muestra a
continuación:

Tabla 1. Número y Nombres de Variables Especiales en MATLAB


Nombre de Variable: Significado: Valor:
eps Epsilon de máquina 2.2204e-16
pi p 3.14159…..
i ó j Unidad imaginaria −1
inf Infinito 8
NaN No es número
date Fecha
flops Contador de operaciones de punto flotante
nargin Número de argumentos de entrada de una función
nargout Número de argumentos de salida de una función
realmin Número real (+) más pequeño
realmax Número real (+) más grande

4.5.- Funciones Matemáticas en MATLAB: Al igual que en otros lenguajes de


programación, MATLAB presenta numerosas funciones matemáticas, desde las más
elementales hasta las de más alto nivel. Estas funciones matemáticas pueden agruparse
en tres categorías.
.- Funciones Trigonométricas.
.- Otras Funciones Elementales.
.- Funciones que realizan Tareas.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
17

Las funciones matemáticas presentan, para su uso en MATLAB, dos diferencias


significativas con respecto a su uso en otros lenguajes de programación (Fortran, C,
C ++). Primera: Las funciones matemáticas operan con variables complejas sin
discriminación alguna. Segunda: Las funciones matemáticas pueden operar con
argumentos vectoriales y argumentos matriciales.

Tabla 2. Funciones Matemáticas Elementales (Trigonométricas).


Func iones Comentario (significado)
trigonométricas
sin(x) seno del argumento x
cos(x) coseno del argumento x
tan(x) tangente del argumento x
asin(x) arcoseno (inverso de seno, sen-1(x)) del argumento x
acos(x) arcocoseno (cos-1(x)) del argumento x
atan( x) arcotangente (tan-1 (x)) del argumento x
(-p/2 = atan(x) = p/2)
atan2(y,x) equivalente al atan(y/x); (-p = atan(x,y) = p)
sinh(x) seno hiperbólico del argumento x
cosh(x) coseno hiperbólico del argumento x
tanh(x) tangente hiperbólica del argumento x
asinh(x) arcoseno hiperbólico (sinh-1 (x)) del argumento x
acosh(x) arcocoseno hiperbólico (cosh-1 (x)) del argumento x
atanh(x) arcotangente hiperbólico (tanh-1(x)) del argumento x
sec(x) secante del argumento x
csc(x) cosecante del argumeno x
sech(x) secante hiperbólica del argumento x
csch(x) cosecante hiperbólica del argumento x
asech(x) inverso de la secante hiperbólica del argumento x
acsh(x) inverso de la cosecante hiperbólica del argumento x
cot(x) cotangente del argumento x
coth(x) cotangente hiperbólica del argumento x
acot(x) inverso de la cotangente del argumento x
asec(x) inverso de la secante del argumento x
acsh(x) inverso de la cosecante del argumento x
acot(x) inverso de la cotangente del argumento x
acoth(x) inverso de la cotangente hiperbólica del argumento x

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
18

Tabla 3. Funciones Matemáticas Elementales (Exponenciales).


Funciones Comentario (significado)
Exponenciales
exp(x) calcula e a la potencia x, equivale a: ex
log(x) calcula el logaritmo natural o neperiano (base e) de x, equivale a:
ln(x)
log10(x) calcula el logaritmo en base 10 del argumento x, equivale a: log10 (x)
sqrt(x) calcula la raiz cuadrada de x, equivale a: x
pow2(x) calcula el valor de 2x , es decir eleva 2 a la potencia x.
nextpow2(x) calcula el valor de la potencia de 2 inmediatamente mayor a x, es decir
calcula p tal que 2p = x
log2(x) calcula el logaritmo en base 2 de x, equivale a log2(x)

Tabla 4. Funciones Matemáticas Elementales (Complejas).


Funciones Comentario (significado)
Complejas
abs(x) valor absoluto del argumento complejo x
angle(x) valor de la fase del argumento complejo x
conj(x) conjugada del argumento complejo x
real(x) parte real del argumento complejo x
imag(x) parte imaginaria del argumento complejo x
isreal(x) permite determinar si el argumento x es un número real puro, entrega
1 si x es un número real puro y 0 en cualquier otro caso.
unwrap(x) reintegra la expresión compleja del argumento x

Tabla 5. Otras Funciones Matemáticas Elementales.


Otras Funciones Matemáticas Comentario (significado)
Elementales
round(x) redondea el valor de x al entero más cercano
fix(x) redondea el valor de x a cero
foor(x) redondea el valor de x a menos infinito (-8 )
ceil(x) redondea el valor de x a más infinito (+8 )
sign(x) entrega 1 si x > 0, ó -1 si x < 0
rem(x,y) entrega el residuo de la operación x /y

Tabla 6. Funciones Matemáticas que realizan Tareas.


Funciones Matemáticas que Comentario (significado)
realizan Tareas
sort(x) reordena los elementos del vector x en orden ascendente
sum(x) calcula la sumatoria de los elementos del arreglo x
max(x) encuentra el máximo valor del arreglo x
min(x) encuentra el mínimo valor del arreglo x
rand(n) Entrega una matriz n x n con números aleatorios

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
19

5.- ÁLGEBRA LINEAL con MATLAB ® v6.1

El álgebra lineal es la herramienta fundamental para el aná lisis de los métodos


numéricos y se tiene que las capacidades de operación del programa MATLAB están
basadas en las operaciones de vectores y matrices. El fundamento del álgebra lineal está
en el planteamiento y solución de ecuaciones lineales. Los comandos de MATLAB
trabajan con ecuaciones lineales en notación de matrices.

5.1.- Vectores y Matrices: Un vector puede considerarse como un arreglo


unidimensional de datos, mientras que una matriz es un arreglo rectangular o
bidimensional de datos. En notación matemática, las matrices se encierran entre
corchetes [ ] y siguen ciertas reglas matemáticas. Una matriz del orden m por n, indica
que la misma está formada por m filas y n columnas.
En el caso de vectores, los mismos pueden considerarse como un caso especial de matriz
en el cual se pueden presentar dos definiciones: vector fila, constituido por un arreglo de
1 por n (1 fila – n columnas); vector columna constituido por un arreglo de n por 1
(n filas – 1 columna). La representación matemática de una matriz de orden m por n,
de un vector fila y un vector columna es la siguiente:

Matriz de orden m por n:

 a1 , 1 a1 , 2 . . a1 , n 
 
 a2 , 1 a2 , 2 . . a2 , n 
A :=  . 
 . . . . 
 . . . . . 
 am, 1 a . . a 
 m, 2 m, n 

Vector Fila:
B := b( 1, 1
b
1, 2
. . b
1, n )

Vector Columna:
 c1 , 1 
 
 c2 , 1 
C :=  . 
 
 . 
c 
 n, 1 
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
20

5.1.1.- Definición de Vectores y Matrices en MATLAB: Un vector se define en


MATLAB como un arreglo que puede ser arreglo de fila o arreglo de columna, según se
trate de un vector fila o de un vector columna, los valores correspondientes estarán entre
corchetes, tal como se muestra a continuación.

>> % definicion de Vector Fila de orden 1 por 5


>> a=[2 5 1 7 4]

a=
2 5 1 7 4

>> % definicion de Vector Columna de orden 5 por 1


>> b=[3;2;4;6;8]

b=
3
2
4
6
8

> % definicion de una Matriz orden 3 por 3


>> y=[3 2 1;2 3 5;6 5 4]

y=

3 2 1
2 3 5
6 5 4

Tal como puede observarse en las declaraciones anteriores, la definición de vectores y


matrices en MATLAB, sigue un orden determinado y en el cual se puede destacar lo
siguiente:

.- para definir los elementos de un fila, se introducen los datos separados por un espacio
simple (también se puede declarar separando los datos por una coma (,)).

.- para definir los elementos de una segunda, tercera, etc. fila se introducen los datos
respectivos separados de la fila precedente por un punto y coma (;).

Otra forma de declarar una matriz en MATLAB es abriendo corchete, introduciendo los
datos correspondientes a cada fila, terminándola con <ENTER> y cerrando la última
fila con el cierre respectivo del corchete. Tal como puede observarse a continuación:

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
21

>> c=[3 4 5
269
8 6 2]

c=
3 4 5
2 6 9
8 6 2

5.1.2.- Operaciones diversas con Vectores: En MATLAB las operaciones se hacen en


base a operaciones lineales de vectores y matrices, por consiguiente los datos y
resultados se entregan en estos formatos. A continuación se ejecutarán operaciones
aritméticas con vectores que normalmente se presentan en los análisis y aplicaciones del
programa MATLAB.

.- Multiplicación de un vector por un escalar:

>> x=[2 5 8 6 2];b=3;


>> c=x*b

c=
6 15 24 18 6

.- Suma de dos vectores: en este caso los vectores deben ser del mismo tipo (vector fila o
vector columna) y tener el mismo número de elementos.

>> a=[3 5 8 2 6];b=[2 4 1 6 4];


>> c=a+b

c=
5 9 9 8 10

.- Multiplicación punto a punto (elemento por elemento) entre dos vectores: realiza la
multiplicación término a término de los elementos de dos vectores de igual dimensión.

>> a=[2 3 5];b=[4 3 6];


>> c=a.*b

c=
8 9 30

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
22

.- Potenciación de un Vector: eleva a una potencia p cada uno de los elementos de un


vector:

>> a=[2 4 6 5];p=3; % Eleva los elementos del vector a la potencia p


>> c=a.^p

c=
8 64 216 125

.- Cálculo del transpuesto de un vector (conversión de un vector fila en un vector


columna).

>> c=[3 5 2 7 9 3];


>> ct=c'

ct =
3
5
2
7
9
3

.- Referencia a un solo elemento de un vector: permite llamar un determinado elemento


perteneciente al arreglo vectorial en consideración.

>> c=[2 3 4 6 8 2];


>> c(1,5) % captura o llama al elemento (1,5) del arreglo c

ans =
8

>> c(5) % otra forma de captura al elemento (1,5) del arreglo c

ans =
8

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
23

.- Identificación o llamado de un grupo de valores de un arreglo vectorial: permite llamar


los valores de un arreglo vectorial x en una notación dos puntos x(primero:último), tal
como se puede observar en el ejemplo siguiente:

c=[2 3 5 7 8 19 12 6 7 6];
>> d=c(2:7) % captura en un arreglo d los valores c(1,2) al c(1,7), es decir del C(2)al c(7)

d=

3 5 7 8 19 12

.- Selección de todos los elementos de un vector: la notación x(:) permite capturar todos
los elementos que constituyen el arreglo vectorial x, previamente fijado.

>> x=[1 3 5 7 9 2 4 6 8 10 12]; % definicion previa del vector x


>> d=x(:) % notacion dos puntos que permite formar el vector d con los elementos del vector x

d=
1
3
5
7
9
2
4
6
8
10
12

.- Construcción de un vector utilizando notación dos puntos: permite crear un valor


utilizando una distribución uniforme de valores definidos entre dos valores extremos
(valor mínimo – valor máximo). La notación o sintaxis a utilizar es la siguiente:
(a1:? a:a2), donde a1 y a2 son los valores extremos (primero y último) y ?a el
incremento entre valor y valor.

>> c=(3:0.5:6); % construye un vector con valor entre 3 y 6 con incrementos de 0.5

>> c
c=
3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000

Definido un vector x, es posible construir a partir de sus elementos un nuevo vector y,


compuesto con elementos de x y dispuestos en forma creciente o en forma decreciente
utilizando ésta notación: y = x(x1:?x:x2).

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
24

.- Construcción de un vector con n valores distribuidos linealmente entre un valor inicial


y un valor final. La notación o sintaxis es la siguiente: linspace(a1,a2,n) donde a1 es el
valor inicial, a2 el valor final y n el número total de elementos del arreglo.

>> d=linspace(-pi,pi,10) % entrega vector fila con 10 valores linealmente distribuidos entre -pi
y +pi

d=
-3.1416 -2.4435 -1.7453 -1.0472 -0.3491 0.3491 1.0472 1.7453 2.4435 3.1416

.- Construcción de un vector con n valores distribuidos uniformemente en forma


logarítmica entre dos valores mínimo y máximo. La notación de la sintaxis es la
siguiente: logspace(a1, a2,n) donde a1 es el valor inicial, a2 el valor final, n el numero
total de elementos del arreglo.

>> d=logspace(0,3,8)

d=
1.0e+003 *

0.0010 0.0027 0.0072 0.0193 0.0518 0.1389 0.3728 1.0000

.- Construcción de un vector con n primeros elementos nulos y m elementos finales con


valores diferentes de cero. En el siguiente ejemplo se crea un vector de 10 ele mentos
donde los primeros 6 elementos son nulos (cero).

>> p=[zeros(1,6) 3 5 1 8]

p=
0 0 0 0 0 0 3 5 1 8

.- Construcción de un vector con los n primeros valores nulos (ceros) y los m valores
finales iguales a la unidad. En el ejemplo siguiente se construye un vector con 12
elementos, de los cuales lo seis primeros son iguales a ceo y los seis últimos iguales a la
unidad.

>> Uk=[zeros(1,6) ones(1,6)];


>> Uk

Uk =

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

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
25

.- Construcción de un vector con los k primeros elementos iguales a la unidad, los m


siguientes iguales a cero y los n finales iguales a la unidad. En el ejemplo siguiente se
construye un vector con 15 elementos donde los primeros 5 son iguales a la unidad, los 6
siguientes iguales a cero y los 4 finales iguales a la unidad.

>> Ek=[ones(1,5) zeros(1,6) ones(1,4)]

Ek =
1 1 1 1 1 0 0 0 0 0 0 1 1 1 1

.- Construcción de un vector con los elementos de dos o más vectores dados: Es posible
construir un nuevo vector con los elementos de dos o más vectores previamente
declarados, utilizando el principio de unión de conjuntos, el orden de los elementos del
nuevo vector será conforme se declaren los vectores en el arreglo respectivo.

>> % construccion de un vector con los elementos de 3 vectores


>> % previamente declarados
>> a=[1 4 3];
>> b=[5 2];
>> c=[8 7 6 1];
>> z=[a b c];
>> z

z=

1 4 3 5 2 8 7 6 1

.- Multiplicación de dos vectores: La multiplicación de dos vectores es posible con


MATLAB utilizando el operador *, y teniéndose presente que sólo es posible multiplicar
un vector fila por un vector columna o un vector columna por un vector fila, en el primer
caso se obtiene un escalar y en el segundo caso se obtiene una matriz cuadrada de orden
p x p, con p igual al número de filas del vector columna e igual al número de columnas
del vector fila.

>> % Ejemplo de multiplicacion de dos vectores


>> % Definicion Vector fila:
>> a=[3 5 7 2]; % orden vector 1 x 4
>> % Definicion Vector columna:
>> b=[2;4;5;1]; % orden vector 4 x 1
>> % Multiplicacion vector fila por vector columna:
>> c=a*b

c=
63

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
26

>> % Multiplicacion vector columna por vector fila:


>> d=b*a

d=
6 10 14 4
12 20 28 8
15 25 35 10
3 5 7 2

5.1.3.- Operaciones diversas con Matrices: A continuación se presentan operaciones


matemáticas con matrices que normalmente se presentan en los análisis y aplicaciones
del programa MATLAB.

.- Multiplicación de una matriz por un escalar: La operación de multiplicar una matriz


por un escalar es posible con MATLAB, utilizando el operador * y definiendo
previamente los datos de la matriz y el escalar, tal como se puede apreciar en el siguiente
ejemplo:

>> % Ejemplo de Multiplicacion de una Matriz por un Escalar:


>> a=[3 6 2;1 3 5;4 8 9;1 7 2]; % Matriz de dimensiones 4 x 3
>> c=4; % Definicion del escalar
>> d=a*c; % operacion del producto de matriz por escalar

La matriz a definida en este caso es la siguiente:

a=

3 6 2
1 3 5
4 8 9
1 7 2

El resultado de la operación del producto de la operación de la matriz por el escalar, es


el siguiente:

d=

12 24 8
4 12 20
16 32 36
4 28 8

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
27

.- Suma de matrices: MATLAB facilita la operación suma de matrices con el operador


aritmético +, las matrices que entran en ésta operación deben ser del mismo orden o
dimensión.

>> % ejemplo de Operacion Suma de Matrices:


>> a=[2 3 4;5 4 3;3 4 9;6 4 3];b=[5 8 3;9 7 4;5 4 2;9 8 5];
>> c=a+b;

Las matrices a y b consideradas son:

a=
2 3 4
5 4 3
3 4 9
6 4 3

b=
5 8 3
9 7 4
5 4 2
9 8 5

El resultado de la operación es el siguiente:

c=
7 11 7
14 11 7
8 8 11
15 12 8

.- Multiplicación punto a punto (elemento por elemento) de matrices: el operador .*


permite efectuar el producto elemento por elemento de dos matrices de igual dimensión.

>> % Multiplicacion punto a punto de dos matrices


>> a=[3 4 5;7 8 9]; b=[2 5 8;6 4 2];
>> d=a.*b

d=
6 20 40
42 32 18

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
28

.- Potenciación de una matriz: El operador .^ permite elevar a la potencia p cada uno


de los elementos de una matriz.

>> % Potenciacion de una Matriz


>> a=[1 2 3;4 5 6;7 8 9];
>> p=2;
>> c=a.^p % Eleva al cuadrado cada uno de los eleme ntos de la matriz a

c=
1 4 9
16 25 36
49 64 81

.- Direccionamiento o Indexación de matrices: El programa MATLAB permite realizar


diversas operaciones con relación a los elementos de una matriz, entre los cuales se
tienen:

*.- Llamado de un elemento de la matriz: dada una matriz a es posible operar con un
elemento de ésta matriz haciéndole un llamado según la notación a(i,j).

>> a=[1 2 3 4;5 6 7 8;9 10 11 12];


>> a

a=
1 2 3 4
5 6 7 8
9 10 11 12

>> c=a(2,3) % Asigna a la variable c el valor del elemento a(2,3) de la matriz a

c=
7

*.- Notación dos puntos A(fila,primero:último) permite seleccionar determinados


elementos de una fila de la matriz A, entregándolos en formato de vector fila.

>> c=[1 2 3 4;5 6 7 8;10 2+3i 11 4+2i]

c=
1.0000 2.0000 3.0000 4.0000
5.0000 6.0000 7.0000 8.0000
10.0000 2.0000 + 3.0000i 11.0000 4.0000 + 2.0000i

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
29

>> d=c(3,2:4) % Asigna a la variable d los valores c(3,2),c(3,3) y c(3,4)

d=
2.0000 + 3.0000i 11.0000 4.0000 + 2.0000i

*.- Extracción selectiva de elementos: la notación: x(fila,[posición elementos]), permite


extraer en forma selectiva los elementos de una fila de la matriz x, asignándolos a una
variable en forma de vector fila.

>> c=[1+2j 3 5j 4+3j 6;2 4 7 9 2+2j;4 9+3j 10j 3-5j 8];


>> d=c(3,[2 4 5]) % Asigna a vector d los valores c(3,2), c(3,4) y c(3,5)

d=
9.0000 + 3.0000i 3.0000 - 5.0000i 8.0000

la notación x([posición elementos],columna), permite extraer en forma selectiva los


elementos de una columna de la matriz x, asignándolos a una variable en forma de
vector columna.

>> a=[1 2+3j -5j;4j 2 4;3 6 7;8+2j 3-4j 5; 8 6 3];


>> d=a([2 4 5],1) % Asigna a la variable d los valores de a(2,1), a(4,1) y a(5,1)

d=
0 + 4.0000i
8.0000 + 2.0000i
8.0000

*.- Extracción de todos los elementos de una o varias filas de una matriz x: la notación
x(fila,:) permite la extracción o selección de todos los elementos de una fila,
asignándolos a una variable en forma de vector fila, mientras que la notación
x(:,columna) permite la extracción de todos los elementos de una columna,
asignándolos a una variable en forma de vector columna.

>> a=[2 3 4;5 6 7;8 9 1];


>> d=a(3,:) % Asigna los elementos de la tercera fila de la matriz a a la variable d

d=
8 9 1

>> p=a(:,2) % Asigna los elementos de la segunda fila de la matriz a a la variable p

p=
3
6
9
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
30

la notación a(filap:filaz,:) permite extraer todos los elementos desde la fila p hasta la fila
z, de la matriz a, asignándolo s a una variable en forma de matriz de dimensión según las
filas indicadas y la notación a(:,columnap:columnaz ) permite extraer todos los
elementos desde la columna p hasta la columna z, de la matriz a, asignándolos a una
variable en forma de matriz de dimensión según las columnas indicadas.

>> a=[2 3 12 4 5;8 45 32 12 14;23 56 76 91 10;16 34 52 74 11]

a=

2 3 12 4 5
8 45 32 12 14
23 56 76 91 10
16 34 52 74 11

>> p=a(1:3,:) % asigna los elementos desde la fila 1 hasta la fila 3 de a a la variable p
%p
p=

2 3 12 4 5
8 45 32 12 14
23 56 76 91 10

>> f=a(:,3:4)% asigna los elementos desde la columna 3 hasta la 4 de a a la variable f

f=

12 4
32 12
76 91
52 74

.- Cálculo de la Transpuesta de una Matriz: la notación a’ permite calcular la transpuesta


de la matriz a.

>> a=[8 9 2;3 4 5;1 6 7]

a=

8 9 2
3 4 5
1 6 7

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
31

>> b=a' % calcula la transpuesta de la matriz a

b=

8 3 1
9 4 6
2 5 7

Ejemplo con una matriz compleja:

>> A=[1+2j 2+3j 3+2j;4+2j 2+5j 6+3j;8+2j 5+4j 7+6j]

A=

1.0000 + 2.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i


4.0000 + 2.0000i 2.0000 + 5.0000i 6.0000 + 3.0000i
8.0000 + 2.0000i 5.0000 + 4.0000i 7.0000 + 6.0000i

>> B=A' % Calcula la transpuesta de la matriz A

B=

1.0000 - 2.0000i 4.0000 - 2.0000i 8.0000 - 2.0000i


2.0000 - 3.0000i 2.0000 - 5.0000i 5.0000 - 4.0000i
3.0000 - 2.0000i 6.0000 - 3.0000i 7.0000 - 6.0000i

>> D=B' % observese que D = A

D=

1.0000 + 2.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i


4.0000 + 2.0000i 2.0000 + 5.0000i 6.0000 + 3.0000i
8.0000 + 2.0000i 5.0000 + 4.0000i 7.0000 + 6.0000i

.- División punto a punto de dos matrices: la notación a./b divide elemento entre
elemento de las matrices a y b

>> % Division elemento entre elemento de dos matrices


>> a=[4 8 10;6 12 16],b=[2 4 5;3 6 8]

a=

4 8 10
6 12 16

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
32

b=

2 4 5
3 6 8

>> c=a./b

c=

2 2 2
2 2 2

.- Generación de una matriz unitaria: la notación eye(n) permite editar una matriz
unitaria de orden n x n.

>> z=eye(4) % edita una matriz unitaria de orden 4 x 4


z=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

.- Generación de una matriz con elementos unitarios: la notación ones(n) edita una
matriz con elementos unitarios de orden n x n, mientras que la notación ones(m,p) edita
una matriz con elementos unitarios de orden m x p.

>> y=ones(4)

y=

1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

>> z=ones(3,4)

z=

1 1 1 1
1 1 1 1
1 1 1 1

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
33

.- Generación de una matriz con elementos nulos: la notación zeros(n) edita una matriz
con elementos nulos de orden n x n, mientras que la notación zeros(n,p) edita una matriz
con elementos nulos de orden n x p.

>> y=zeros(3)

y=

0 0 0
0 0 0
0 0 0

>> z=zeros(3,4)

z=

0 0 0 0
0 0 0 0
0 0 0 0

.- Eliminación de elementos de un arreglo: la notación x(:,n)=[ ] elimina de la matriz x


todos los elementos de columna n. Mientras que la notación x(m,:)=[ ] elimina de la
matriz x todos los elementos de la fila m.

> A=[12 15 23 32;45 26 31 21;61 37 55 12]

A=

12 15 23 32
45 26 31 21
61 37 55 12

>> A(2,:)=[] % Elimina la fila 2 de la matriz A

A=

12 15 23 32
61 37 55 12

>> A(:,3)=[] % Elimina la columna 3 de la matriz A

A=

12 15 32
61 37 12
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
34

.- Multiplicación de matrices: la notación a*b ejecuta la operación de multiplicación de


la matriz a por la matriz b. Debe tenerse en cuenta las reglas de multiplicación de
matrices, las cuales deben prevalecer.

>> a=[2 4 7;3 1 6],b=[3 4;5 2;8 6]

a=
2 4 7
3 1 6

b=
3 4
5 2
8 6

>> c=a*b

c=
82 58
62 50

>> d=b*a

d=
18 16 45
16 22 47
34 38 92

.- Inverso de una matriz: dada una matriz A, la notación inv(A) permite el cálculo de la
inversa de la matriz A. inv(A) = A-1, cumpliéndose que inv(A)*A = I, con I = matriz
identidad. La matriz A debe ser una matriz cuadrada.

>> A=[3 4 5;7 2 1;8 9 6]

A=

3 4 5
7 2 1
8 9 6

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
35

>> B=inv(A) % calcula el inverso de la matriz A

B=
0.0278 0.1944 -0.0556
-0.3148 -0.2037 0.2963
0.4352 0.0463 -0.2037

>> I=B*A

I=
1.0000 -0.0000 -0.0000
0 1.0000 0.0000
0 0 1.0000

>> Ia=A*B

Ia =
1.0000 0.0000 0
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000

puede observarse que la matriz I = Ia, lo que demuestra que A*A-1 = A-1*A = I.

.- Solución de ecuaciones con MATLAB: es posible utilizando operaciones con matrices


el encontrar la solución a un sistema lineal de n ecuaciones con n incógnitas, tal como
puede observarse en el sistema siguiente:

3 * x + 2 * y − 4 * z = 12
2 * x − 2 * y + 5 * z = 10
4 * x + 3 * y − 4 * z = 18

A partir de este sistema se pueden definir las siguientes matrices:

 3 2 −4 
A :=  2 −2 5 
 
 4 3 −4 

 x
b :=  y 
 
 z

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
36

 12 
c :=  10 
 
 18 

planteándose la ecuación matricial A*b = c, se deduce que b = inv(A)*c, que llevado a


MATLAB permite calcular el vector columna (incógnita b) en éste caso:

> % Solucion sistema lineal de ecuaciones


>> A=[3 2 -4;2 -2 5;4 3 4];
>> c=[12;10;18];
>> IA=inv(A) % calcula inverso matriz A
>> b=IA*c % Entrega valores de x, y, z

b=
4.3564
-0.0990
0.2178

de donde se concluye que :


x = 4.3564
y = -0.0990
z = 0.2178

5.2.- Polinomios e Interpolación: El objetivo principal de la interpolación es el de


interpolar datos conocidos en puntos discretos de forma tal que se puedan valores
funcionales entre dichos puntos. Así por ejemplo, los métodos de integración numérica
se derivan integrando polinomios de interpolación y las aproximaciones de diferencias
finitas son derivadas igualmente de polinomios de interpolación. En esto radica la
importancia del estudio de las expresiones de los polinomios de interpolación, su
exactitud y los efectos de la selección de puntos de datos. Existen diversas formas para
expresar los polinomios de interpolación, una de ellas es la expresión en serie de
potencia. Un polinomio de orden o potencia n, tiene n raíces, las cuales pueden ser
simples, múltiples o complejas. En general, si todos los coeficientes del polinomio son
reales, todas las raíces complejas se encontrarán en pares conjugados complejos. La
expresión general de un polinomio en serie de potencia es la siguiente:

y = c1 x n + c 2 x n −1 + c 3 x n − 2 + .......... + c n x + c n +1
donde n es el orden del polinomio (potencia más alta) y los ci son los coeficientes. Un
polinomio puede también expresarse en forma factorizada según la siguiente expresión:

y = c1 ( x − r1 )( x − r2 ).......( x − rn ) donde ri son las raíces


del polinomio.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
37

5.2.1.- Definición de Polinomios en MATLAB: Un polinomio, en MATLAB, se


representa mediante la notación usada para definir a un vector fila, éste vector estará
conformado por los coeficientes de las potencias del polinomio descritas en forma
descendente. Así, por ejemplo el polinomio siguiente:
y = 5x 4 + 3 x 3 − 2 x 2 − 5 x + 6
se representa en MATLAB como un vector fila definido con los elementos:
p = [5 3 − 2 −5 6]

Es importante resaltar que los ceros definidos a la derecha en el vector son


significativos, pues indican que el coeficiente de una potencia de orden menor a la
potencia máxima es de valor cero, así para el siguiente polinomio:
y = 5 x 5 + 2 x 3 + 3x , la definición en MATLAB será de la forma
siguiente:

y=[5 0 2 0 3 0]

y=
5 0 2 0 3 0

lo cual indica que los coeficientes de las potencias de orden 4, 2 y 0 son nulos.

5.2.2.- Operaciones diversas con Polinomios: A continuación se presentan operaciones


matemáticas con polinomios que son comunes en los análisis y aplicaciones del
programa MATLAB.

.- Factorización de un polinomio: factorizar un polinomio consiste en calcular el valor de


las raíces de dicho polinomio. La notación roots(p) permite calcular las raíces del
polinomio p. El programa devuelve un vector columna con los valores de las raíces del
polinomio objeto de análisis.
Calcular las raíces del polinomio : y = 4 x 3 + 3 x − 2

>> % Calculo raices de un polinomio


>> y=[4 0 3 -2]; % definicion del polinomio a MATLAB
>> r=roots(y) % calcula las raices de y

r=

-0.2500 + 0.9682i
-0.2500 - 0.9682i
0.5000

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
38

.- Reconstrucción de un polinomio a partir de los valores de sus raíces: la notación


poly(r) permite obtener la expresión del polinomio si se conocen los valores de sus
raices, las cuales deben declarárseles al programa en forma de vector columna.

>> % Reconstruccion de un polinomio a partir de sus raices


r=[-0.25+0.9682j;-0.25-0.9682j;0.5]; % definicion de raices del polinomio
y=poly(r) % entrega los valores de coeficientes del polinomio en orden descendente

y=
1.0000 0 0.7499 -0.5000

el resultado entregado por el programa se interpreta como que las raíces declaradas en
vector columna r son las del polinomio definido por la siguiente relación:
y = x 3 + 0.7499 x − 0.5 . Puede observarse que las raíces declaradas en el vector r son
las correspondientes a las del vector del ejemplo anterior (cálculo de raíces de un
polinomio) y que los valores de los coeficientes corresponden a los valores del
polinomio declarado en ese ejemplo divididos por 4. Ello se debe a que un polinomio
determinado a partir exclusivamente de sus raíces sigue siendo arbitrario en cuanto a un
multiplicador constante. Para poder determinar un polinomio de orden n se requieren
n+1 puntos de datos, pero el número de raíces de un polinomio es sólo n; por ello,
MATLAB normaliza los coeficientes de modo que el primero sea la unidad. Aunque las
conversiones de coeficientes a raíces y viceversa son fáciles con MATLAB debe de
tenerse cuidado en lo que se refiere a la exactitud de los cálculos. La conversión tiende a
ser menos exacta si hay múltiples raíces.

.- Evaluación de Polinomios: la notación polyval(p,xi) permite evaluar el valor del


polinomio p(x) para el valor de xi. Si xi es un vector que contiene múltiples valores de la
abscisa, el resultado será un vector, con los valores de las respuestas, de la misma
longitud de xi.

Dado el siguiente polinomio: y = 3x 4 − 7 x 3 + 2x 2 + x + 1 , calcular el valor de y para


x = 2.5.

>> % Evaluacion de un polinomio para un valor determinado


>> y=[3 -7 2 1 1]; % definicion del polinomio
>> xi=2.5; % definicion del valor para el cual se evalua el polinomio
>> yi=polyval(y,xi)

yi =
23.8125

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
39

Evaluación del polinomio y para una serie de valores de x:

>> % Evaluacion de un polinomio para una serie de valores de x


>> y=[3 -7 2 1 1]; % definicion del polinomio
>> xi=[1 2.5 3 5]; % Evalua el polinomio para valores de x = 1, 2.5 3 y 5
>> yi=polyval(y,xi); % Evalua el polinomio para valores de x = 1; 2.5; 3 y 5
>> yi

yi =
1.0e+003 *
0 0.0238 0.0760 1.0560

del resultado entregado por MATLAB, se concluye que:


para x = 1 ===è y=0
para x = 2.5 ===è y = 23.8
para x = 3 ===è y = 76
para x = 5 ===è y = 105.6

.- Suma de polinomios: definidos dos o más polinomios del mismo orden, la operación
suma de los mismos se obtiene con la notación: p1 + p 2 + …+ pn

>> % Ejemplo de suma de polinomios (mismo orden)


>> p1=[2 5 1 8]; p2=[0 1 4 0]; p3=[1 0 1 0];
>> pr=p1+p2+p3

pr =
3 6 6 8

.- Multiplicación de polinomios: dados dos polinomios p1 , p2, la notación conv(p1,p2)


permite evaluar el producto de p1 y p2 .

>> % Evaluacion del producto de dos polinomios


>> p1=[2 4 -2 0]; p2=[3 6];
>> pq=conv(p1,p2)

pq =

6 24 18 -12 0

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
40

.- dados dos polinomios p1 y p2 de igual orden o potencia, la notación p1*p2’ evalúa el


producto interno o escalar entre p1 y p2 .

>> % Evaluacion producto escalar entre dos polinomios (mismo orden)


>> p1=[2 4 3 1]; p2=[1 3 2 0];
>> pe=p1*p2'

pe =
20

.- la notación p1.*p2 evalúa el producto elemento a elemento entre dos polinomios p1 y


p2 de mismo orden o potencia.

>> % Multiplicacion elemento por elemento de dos polinomios (mismo orden)


>> p1=[3 5 2 0 1]; p2=[1 0 2 1 2];
>> pp=p1.*p2

pp =
3 0 4 0 2

.- División de polinomios: dados dos polinomios p1 y p2 la división p1 /p2 es posible en


MATLAB mediante la notación deconv(p1,p2).

>> % Evaluacion de division de dos polinomios


>> p1=[2 1 0 3 2 5]; p2=[2 1 0];
>> dp=deconv(p1,p2)

dp =
1.0000 0 0 1.5000

.- si la división entre los polinomios no es exacta es posible obtener el cociente y el


residuo mediante la notación: [c,r] = deconv(p1,p2), donde c y r son dos vectores filas,
siendo c el vector contentivo del cociente de la división y r el vector contentivo del
residuo de la división.

>> [dp,r]=deconv(p1,p2)

dp =
1.0000 0 0 1.5000

r=
0 0 0 0 0.5000 5.0000

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
41

.- Derivada de un polinomio: dado un polinomio p la notación polyder(p) permite


obtener la primera derivada del polinomio p.

>> % Evaluacion de la primera derivada de un polinomio


>> y=[2 1 0.5 2.4 3 4];
>> dy=polyder(y)

dy =
10.0000 4.0000 1.5000 4.8000 3.0000

.- Integral de un polinomio: dado un polinomio p la notación polyint(p) permite calcular


la integral de p asumiendo como constante de integración k = 0; la notación polyint(p,k)
determina la integral de p tomando como constante de integración k.

>> p=[2 3 5 0 1 7];


>> ip=polyint(p)

ip =
0.3333 0.6000 1.2500 0 0.5000 7.0000 0

>> % caso considerando k diferente de cero (k = 2)


>> ipc=polyint(p,2)

ipc =
0.3333 0.6000 1.2500 0 0.5000 7.0000 2.0000

5.2.3.- Evaluación de Funciones Racionales: MATLAB permite manejar funciones


racionales expresando el numerador y denominador a través de polinomios. Así por
ejemplo dada la siguiente función racional:
4x 2 + 2 x − 1
f ( x) = 4
5x + 6 x 3 + 4 x 2 − 3x − 5

nf ( x)
esta función se puede definir de la forma siguiente: f ( x) =
df ( x)

donde nf(x) define el polinomio del numerador de f(x) y df(x) define el polinomio del
denominador. Es decir:

nf ( x ) = 4 x 2 + 2x − 1 y df ( x ) = 5 x 4 + 6 x 3 + 4 x 2 − 3x − 5

polinomios que pueden ser declarados al MATLAB para análisis de la función f(x), tales
como determinación de polos y ceros, descomposición en fracciones parciales, etc.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
42

Ejemplo de determinación de los polos y ceros de una función racional f(x):

>> % Evaluacion de los ceros y polos de una funcion:


>> % Definicion del numerador y denominador de F(x)
>> nFx=[4 2 -1]; dFx=[5 6 4 -3 -5];
>> % Calculo de ceros y polos (raices de nFx y dFx)
>> ceros=roots(nFx), polos=roots(dFx)

ceros =
-0.8090
0.3090

polos =
0.7887
-0.5369 + 1.0477i
-0.5369 - 1.0477i
-0.9148

.- Descomposición en fracciones parciales de una función racional: la notación


[r,p,k]=residue(numf(x),denomf(x)) permite la descomposición en fracciones parciales
de la función f(x), donde los componente r son los residuos de las fracciones parciales,
los componentes p son los polos o raíces de la fracción y k es el orden o factor de
ganancia.

>> % Descomposicion en Fracciones Parciales de una funcion racional:


>> nFx=[4 2 -1]; % Define numerador de f(x)
>> dFx=[5 6 4 -3 -5]; % Define denominador de f(x)
>> [r,p,k]=residue(nFx,dFx)

r=
-0.0385 - 0.2932i
-0.0385 + 0.2932i
-0.0490
0.1261

p=
-0.5369 + 1.0477i
-0.5369 - 1.0477i
-0.9148
0.7887

k=
[]
IUTAI “Región los Andes”
BMV.-bemevi@telcel.net.ve
43

la interpretación de estos resultados es la siguiente: la función f(x) definida en la forma


polinomica:
4 x 2 + 2x − 1
f ( x) = 4
5 x + 6x 3 + 4x 2 − 3 x − 5

al descomponerla en fracciones parciales será igual a:

0.0385 + 0.2932i 0.0385 − 0.2932 j − 0.049 0.1261


f ( x) = + + + +0
x − ( −0.5369 + 1.0477 j ) x − ( −0.5369 −1.0477 j ) x − (−0.9148) ( x − 0.7887)

En el caso de que en la descomposición de la función en fracciones parciales aparezcan


polos múltiples, el desarrollo de la función se presentará en el orden siguiente:
( x − p1 ), ( x − p1 ) 2 , ( x − p1 ) 3 ,........( x − p1 ) n

.- Reconstrucción de una función racional a partir de sus fracciones parciales: es posible


el reconstruir el numerador y denominador de una función racional utilizado la notación
siguiente: [numFx,denFx] = residue(r,p,k). el programa entrega dos vectores
contentivos de los datos del polino mio de numerador y del polinomio del denominador
de la función f(x).

>> nFs=[2 4 2];


>> dFs=[4 6 2 4 2];
>> [r,p,k]=residue(nFs,dFs)

r=
-0.0320
-0.0396 - 0.3326i
-0.0396 + 0.3326i
0.1111

p=
-1.4656
0.2328 + 0.7926i
0.2328 - 0.7926i
-0.5000

k=
[]

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
44

>> [numFs,denFs]=residue(r,p,k)

numFs =
0 0.5000 1.0000 0.5000

denFs =
1.0000 1.5000 0.5000 1.0000 0.5000

puede observarse en los resultados obtenidos que el polinomio del numerador y el


polinomio del denominador aparecen simplificados por un factor de escala ( 4 en este
caso) que es el coeficiente de la potencia de mayor orden del polinomio del
denominador, si ambos (numerador y denominador) se multiplican por este factor, se
obtienen los respectivos valores iniciales (definidos) de los polinomios de la función
racional.

>> 4*numFs

ans =
0 2.0000 4.0000 2.0000

>> 4*denFs

ans =
4.0000 6.0000 2.0000 4.0000 2.0000

5.2.4.- Operaciones con funciones en MATLAB: MATLAB permite operar con


funciones matemáticas permitiendo generarlas o crearlas como archivo **.m o
definiéndolas como cadena de caracteres.

.- Función como cadena de caracteres: en MATLAB pueden definirse las funciones en


forma de caracteres alfanuméricos, permitiendo operar con ellas de forma tal que su
análisis se simplifica para el objetivo planteado. La función f ( x) = 2.e − x .sen( x) se
define en MATLAB, para su análisis y evaluación, como una cadena de caracteres de la
forma siguiente:

>> % Definicion de una Funcion como una cadena de caracteres:


>> fx='2*exp( -x).*sin(x)'

fx =
2*exp(-x).*sin(x)

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
45

.- Evaluación de una función con MATLAB: la notación eval(fx) evalúa la función f(x)
para un valor de x previamente declarado. Considerando la función definida en el aparte
anterior se tiene:

>> fx='2*exp( -x).*sin(x)'

fx =
2*exp(-x).*sin(x)

x=2.1, eval(fx)

x=
2.100

ans =
0.2114

lo cual se interpreta como que: para un valor de x = 2.1 la función f(x) = 0.2114.

.- Valor mínimo y máximo de una función: la notación [xmin,fval]=fimnbnd(fx,a,b)


entrega el valor de xmin y el valor mínimo de la función. Considerando la función del
apartado anterior, se va a calcular el valor de x dentro de un intervalo [1,5] para el cual
la función es mínima.

>> fx

fx =
2*exp(-x).*sin(x)

>> [xmin,fval]=fminbnd(fx,1,5)

xmin =
3.9270

fval =
-0.0279

lo cual se interpreta como que el valor mínimo de la función f(x) para los valores de x
comprendidos entre 1 y 5, es de -0.0279 y se obtiene cuando x = 3.9270.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
46

.- Ceros de una función: la notación [xo fval] = fzero(fx,b) calcula el valor de x más
próximo al escalar b para el cual la función tiende a cero.

>> fx

fx =
2*exp(-x).*sin(x)

>> [xo fval]=fzero(fx,4)

xo =
3.1416

fval =
-2.7797e -017

lo cual se interpreta que para x = 3.1416 la función f(x) tiende a cero.

6.- Gráficas con MATLAB: El programa MATLAB utiliza los comandos “plot” y
“stem” para la graficar func iones con una o más variables independientes. Tanto el
comando “plot(x,y)” como el comando “stem(x,y)” evalúan cada columna de un
arreglo como un grupo de datos.

>> % Ejemplo de graficas con MATLAB


>> x=linspace(0,2*pi,50); % define vector x (abcisas)
>> y=sin(x); % Definicio n funcion senoidal
>> plot(x,y) % Grafica y vs x

la grafica aparece en la ventana de gráficos de MATLAB:

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
47

La notación plot(x,y,x,w) permite graficar en la misma ventana las curvas y = f(x) y de


w = f(x) , tal como puede observarse en el siguiente ejemplo:

x=linspace(0,2*pi,50); y=sin(x); w=cos(x);


>> plot(x,y,x,w)

la gráfica obtenida en la ventana de figura es la siguiente:

Las notaciones: xlabel(‘titulo eje x’) y ylabel(‘titulo eje y’) permiten rotular cada uno
de los ejes de la gráfica y title(‘titulo’) permite titular la gráfica.

x=linspace(0,2*pi,50);
y=sin(x); w=cos(x);
plot(x,y,x,w),xlabel('eje x'),ylabel('eje y')
title('titulo de grafica')

la gráfica obtenida en este caso es la siguiente:

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
48

En el trazado de varias gráficas en la misma ventana, el programa por defecto usa líneas
sólidas de colores azul, verde, rojo, celeste, violeta, amarillo, negro y blanco
sucesivamente.

Las siguientes notaciones, despúes de declarar el comando plot o stem, permiten operar
una gráfica obtenida con MATLAB:

.- grid: activa rejilla


.- grid off: remueve rejilla
.- box off: elimina marco de los ejes
.- box on: recupera marco de los ejes
.- text(xi,yi): permite colocar rótulos en función de coordenadas (xi,yi)
.- axis([x min xmax ymin ymax ]): permite modificar limites del gráfico o fijar valores de ejes
.- axis auto: restaura valores de escalamiento por defecto
.- axis off: elimina ejes
.- axis on ij: restaura los ejes y gira el eje vertical
.- figure(n): permite abrir una nueva ventana de figuras conservando las anteriores
.- hold on: permite dibujar nuevos gráficos en el mismo juegos de ejes
.- ishold: permite investigar si se mantienen los ejes actuales
.- hold off: libera la ventana de la figura actual para un nuevo gráfico

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve
49

.- subplot(m,n,k): divide la ventana de figura en una matriz m x n áreas y selecciona


para el gráfico indicado la k-esima área.
.- zoom on: activa el modo de ampliación de la figura actual.
- click con botón izquierdo: expande la gráfica alredor de punto señalado
- click con el boton derecho: contrae la figura.
- es posible marcar una zona arrastrando el botón izquierdo del ratón.
.- zoom off: desactiva modo de ampliación de la figura actual.

IUTAI “Región los Andes”


BMV.-bemevi@telcel.net.ve

S-ar putea să vă placă și