Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Usos de Matlab
Usos de Matlab
MATLAB integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un
entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que
se escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional.
Uso de Matrices
MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una forma
altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser una imagen o
una película. Una matriz de fluctuaciones de una señal puede ser un sonido o una voz humana. Y
tal vez más significativamente, una matriz puede describir una relación lineal entre los
componentes de un modelo matemático. En este último sentido, una matriz puede describir el
comportamiento de un sistema extremadamente complejo. Por ejemplo una matriz puede
representar el vuelo de un avión a 40.000 pies de altura, o un filtro digital de procesamiento de
señales
.
MATLAB es el nombre abreviado de “MATRIX LABORATORY”, es una herramienta informática para
realizar:
Cálculos numéricos con vectores y matrices. Como caso particular también puede trabajar
con números escalares – tanto reales como complejos, con cadenas de caracteres y otras
estructuras de información más complejas.
Amplia variedad de gráficos en dos y tres dimensiones
Simulaciones
Programación mediante su propio lenguaje.
En la gráfica de la parte superior se muestra el ambiente de trabajo (IDE) que permite interactuar
con el programa:
Desde la línea de comandos (command window) se puede invocar las diferentes ayudas de los
comandos que se utilizan en esta herramienta:
>>help
>>help lang
Para limpiar la ventana de comandos se debe teclear la palabra clc y finalizar con enter (lo cual se
debe hacer para todas las instrucciones que se quiera ejecutar), si la línea de la instrucción no se
desea ejecutar se debe finalizar con punto y coma (;)
>>sabe
Antes de abandonar el programa se crea en el direcorio actual un fichero binario llamado
matlab.mat con el estado de la sesión (excepto los graficos). Al iniciar nuevamente al programa se
debe teclear (si se desea continuar la sesión interrumpida)
>>load
COMANDOS BASICOS
Números y operaciones básicas
El programa trabaja con diferentes tipos de números y expresiones numéricas: números enteros,
racionales, reales y complejos.
Operaciones básicas
Comenzaremos realizando con el programa las operaciones más básicas entre números.
Trabajamos en la ventana de Command window y para ello se utilizan las convenciones
matemáticas estándar.
Por ejemplo, para sumar (figura 6):
>> 2+2
ans 4
Figura 6
En general las operaciones básicas a realizar se hacen según la siguiente tabla y con la jerarquía
habitual entre ellas:
Nota: Por defecto Matlab trabaja con unos dígitos de aproximación para números decimales. Esto
puede cambiarse.
MATLAB trabaja siempre en doble precisión, es decir, guardando cada dato en 8 bytes, con 15
cifras decimales exactas. El formato con el que los datos aparecen en pantalla es variable. Existen
varios modos de trabajo, se indican a continuación los más significativos:
Ejemplos:
>>3^100
5.1538e+047
>>5+pi
8.1416
>>format short e
>>3^100
5.1538e+047
>>5+pi
8.1416 e+000
>>format long
>>3^100
5.153775207320113e+047
>>5+pi
8.14159265358979
>>format long e
>>3^100
5.153775207320113e+047
>>5+pi
8.141592653589793e+000
>> 5+pi
920/113
Números complejos
Variables
Las variables en Matlab tienen forma matricial: fila y columna. Así, si trabajamos con una variable
unidimensional se crea con la forma de una fila y una columna. Para hacerlo sólo debemos teclear
el nombre elegido e igualarlo a su valor:
>> a=8
O a través de del menú desplegado al pinchar con el botón derecho del ratón sobre la variable
situada en el Workspace (figura 9). Esta opción nos permite guardar sólo las variables
seleccionadas. Destacar que esto también ofrece la posibilidad de eliminar la variable. Algo que
puede hacerse de forma global desde el menú Edit, submenú Clear
Workspace.
Figura 9
Realizar cualquiera de estos procesos nos permite crear un fichero de extensión .mat con el
nombre deseado cuyo contenido serán las variables que se quieren guardar. Al hacerlo, si lo
guardamos en el directorio actual aparecerá dicho fichero en la lista de los que tenemos a nuestra
disposición.
Si en una nueva sesión queremos recuperar dichas variables sólo tenemos que cargar el fichero
.mat, bien pinchando dos veces sobre su nombre en la ventana del directorio actual o bien a
través del menú File, submenú Open.
Copiar la parte que nos interese del Command Window y abrir un fichero .m. (figura 10).
Figura 10
Se pueden emplear paréntesis para alterar esta ordenación, en cuyo caso la evaluación se inicia
dentro del paréntesis más interno y se prosigue hacia afuera.
Variables
Hasta aquí los cálculos se realizan igual que en una calculadora. La introducción de variables ofrece
nuevas posibilidades. Supongamos que queremos calcular el área de un triángulo de base 21.3 m y
altura 12.6 m. De acuerdo con lo visto en la sección anterior, este cálculo se puede realizar así:
Otra posibilidad es utilizar las variables base, altura, área y realizar los cálculos de la siguiente
forma:
Las variables base, altura, área permanecen en el espacio de trabajo con los últimos valores
asignados y pueden ser llamadas o modificadas cuantas veces se desee.
Las letras mayúsculas y minúsculas son distintas a efectos de nombrar variables. Por
ejemplo, son diferentes las variables base, Base, BASE.
El nombre de una variable puede tener hasta 31 caracteres; si hubiese más serían
ignorados.
El nombre de una variable debe comenzar obligatoriamente por una letra. Puede contener
letras, números y el guión de subrayado (_); no se permiten espacios en blanco.
No es conveniente nombrar variables mediante expresiones que tengan un significado
específico en MATLAB: Por ejemplo, no es aconsejable utilizar log como nombre de
variable ya que ésta es la designación de la función logarítmica en MATLAB.
Como regla general es aconsejable que el nombre de una variable sea indicativo de su contenido.
Hay algunas variables que, por defecto, tienen un valor asignado. Podemos citar:
Borrar variables
Funciones predefinidas
MATLAB incorpora una serie de funciones que se corresponden con las funciones matemáticas
más utilizadas.
Matrices invertibles
Estos comandos son en esencia comandos escalares porque cada uno multiplica un solo valor por
otro y almacena el producto en un tercer valor. Para indicar que queremos realizar una
multiplicación elemento por elemento entre dos matrices del mismo tamaño, usamos un asterisco
precedido por un punto. Así, las cinco instrucciones anteriores pueden ser sustituidas por la
siguiente:
No poner el punto antes del asterisco es una omisión grave porque en tal caso la instrucción
especifica una operación de matrices, no una operación elemento por elemento.
En el caso de la suma y la resta, las operaciones de arreglos y las de matrices son iguales, así que
no necesitamos distinguir entre ellas. En cambio; las operaciones de arreglos para multiplicación,
división y exponenciación son diferentes de las operaciones de matrices para multiplicación,
división y exponenciación, así que necesitamos incluir un punto para especificar una operación de
arreglos. Estas reglas se resumen en la siguiente tabla:
Las operaciones elemento por elemento, u operaciones de arreglos, no solo se aplican a
operaciones entro dos matrices del mismo tamaño, sino también a operaciones entre un escalar y
un no escalar. Así, las dos instrucciones de cada uno de los siguientes juegos de instrucciones son
equivalentes para una matriz A:
A =
2
-3
1
Nota: Se usa "[" para empezar a declarar la matriz; se cierra con "]". Para pasar a la segunda
fila agrego un ";" y cada componente esta separado por un "espacio". Recuerde que si no
quiere ver la salida del comando ingrese ";" al final.
Suma de matrices
Suponga que quiero hacer la siguiente operación entra las matrices a y b. Cabe aclarer que las
matrices tiene que ser de las mismas dimensiones, para este ejemplo se definieron dos matrices
de 2x2.
Código en Matlab:
ans =
4.0000 1.5000
1.5000 6.0000
Multiplicación de matrices
Para multiplicar dos matrices (axb), "a" tiene que tener la misma cantidad columnas que la
cantidad de filas que b. El resultado de la multiplicación sera entonces igual a la cantidad de filas
de "a" y tendra tantas columnas como "b". Dada una matriz A de 3 filas x 3 columnas(3x3) y una
matriz B de 3x2; podemos verificar que el producto es posible y el resultado de la multiplicación
sera de una matriz de 3x2.
Ejemplos en Matlab:
Matriz Transpuesta
Para calcular la traspuesta de una matriz en matlab utilizo el carácter especial "'".
Ejemplo en Matlab:
>> A=[2 .5;1 3]
A =
2.0000 0.5000
1.0000 3.0000
>> A'
ans =
2.0000 1.0000
0.5000 3.0000
>> A(1,:)
ans =
1 10
>> A*v(1:3)
??? Error using == *
Inner matrix dimensions must agree.
>> A*v(1:3)’
ans =
16
28
46
Acostúmbrate a ver ese mensaje de error! Una vez que empiezas a trabajar con vectores y
matrices, es sencillo olvidar los tamaños de los objetos que has creado.
1.3.2. DIMENSION.
Sintaxis
d = size(A)
[m, n] = size(A)
d = size(A, n)
Supongamos que Aes un m-by- nmatriz simbólica o numérica. La declaración d = size(A) devuelve
un vector numérico con dos componentes enteros, d = [m,n].
La instrucción de asignación múltiple [m, n] = size(A) devuelve los dos números enteros en dos
variables independientes.
La declaración d = size(A, n) devuelve la longitud de la dimensión especificada por el escalar n. Por
ejemplo, size(A,1) es el número de filas de Ay size(A,2)es el número de columnas de A.
Ejemplos Las declaraciones abcd syms
A = [abc; abd; DCB; cba];
d = size (A)
r = size (A, 2)
ans.
d=
43
r=
3
1.3.4. Redimensionamiento de matrices
La función reshape
Teniendo en cuenta como se almacena una matriz en MatLab, fácilmente podemos comprender
que el tamaño de una matriz no es importante y que solo es necesario una pequeña función para
dar a una matriz la forma que queramos (siempre que el número de elementos no cambie). La
función MatLab que permite redimensionar una matriz es reshape.
Como con las otras funciones, para obtener ayuda acerca de esta función escribe en la ventana de
MatLab help reshape o doc reshape para obtener ayuda más detallada.
Para comprender la acción de la instrucción reshape, tan solo debemos saber que
redimensionando una matriz T en una matriz M, los elementos de T son tomados en orden
creciente de su indexación lineal y son colocados en M en el mismo orden.
B = reshape(A,sz)
ejemplo
B = reshape(A,sz1,...,szN)
ejemplo
Descripción
B = reshape(A,sz)forma de nuevo A usando el vector de tamaño, sz para definir size(B). Por
ejemplo, reshape(A,[2,3])forma de nuevo A en una matriz de 2 por 3. Sz debe contener al menos 2
elementos, y prod(sz)debe ser el mismo que numel(A).
B = reshape(A,sz1,...,szN) remodela A en un sz1-by- ...-by- szN matriz en donde sz1,...,szN indica el
tamaño de cada dimensión. Puede especificar una única dimensión del tamaño []para tener el
tamaño de dimensión incluye de forma automática, de manera que el número de elementos en B
coincida con el número de elementos en A. Por ejemplo, si Aes una matriz de 10 por 10,
entonces reshape(A,2,2,[])cambia la forma de los 100 elementos de A en una matriz de 2 por 2-
por-25.
Cambiar la forma de un vector 1-por-10 en una matriz de 5 x 2.
A = 1:10;
B = cambio de forma (A, [5,2])
B=
16
27
38
49
51
Como se ve, con pocos puntos la gráfica tiene un aspecto demasiado lineal a
trozos. Para "engañar" al ojo, basta tomar más puntos.
>>x=pi*(-1:0.01:1);
>>y=x.*sin(x);
>>plot(x,y)
>>hold off % Con esto olvida los dibujos anteriores y dibuja en una ventana
nueva
También puede usarse el versátil comando ezplot (easy-to-use plot) que permite
dibujar funciones definidas mediante cadenas de caracteres,
curvas en paramétricas,
>>ezplot('sin(t)','cos(t)',[0 pi])
e implícitas
>>ezplot('x^2-y^2-1')
>>t=0:0.001:0.009;
>>v=900:1025;
>>[T V]=meshgrid(t,v);
>>aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
>>aux2=aux1+(2*V-1929).^2;
>>w=T./aux2;
>>z=35000000*w;
>>surfl(t,v,z) % Dibuja la superficie creada mediante las órdenes anteriores.
>>shading interp % Este comando y el siguiente sirven para modificar el dibujo
obtenido.
>>colormap(pink)
>>rotate3d % Sirve para girar la figura mediante el ratón.
Solución:
Código Matlab:
(a) [X,Y]=meshgrid(-3:.2:3,-3:0.2:3);
Z=X.^2.+Y.^2;
subplot(2,3,1); surf(X,Y,Z)
subplot(2,3,2); mesh(X,Y,Z)
subplot(2,3,4); surfc(X,Y,Z)
subplot(2,3,5); meshc(X,Y,Z)
subplot(2,3,3); plot3(X,Y,Z)
subplot(2,3,6); contour(X,Y,Z,6)
(b) u=0:.1:5;v=0:pi/50:2*pi;;
[U,V]=meshgrid(u,v);
X=U.*cos(V); Y=U.*sin(V); Z=U.^2;
subplot(2,2,1); surf(X,Y,Z)
subplot(2,2,2); mesh(X,Y,Z)
subplot(2,2,3); meshc(X,Y,Z)
subplot(2,2,4); contour3(X,Y,Z,8)
Representación paramétrica de curvas (a) Representar la hélice circular cos sen con 2 x t
yt t t z (b) Representar la hélice elíptica cos 2sen con 5 x t yt t t
z
Solución: Código Matlab (a) %Se define el rango del parámetro. Se declaran %las
variables en función del mismo y, por la %instrucción ‘plot3’ se dibuja la hélice circular
sobre el %espacio. t=linspace(0,4*pi,1000);x=cos(t);y=sin(t);z=t/(2*pi); plot3(x,y,z); grid
on %Declarando el parámetro simbólicamente podemos %representar la hélice circular
a través de la %instrucción ’ezplot3’ syms t x=cos(t);y=sin(t);z=t/(2*pi);
ezplot3(x,y,z,[0,4*pi]) %Se explicita el dominio del parámetro, ya que %por defecto
MATLAB hubiese tomado el intervalo [0,2*pi] (b) t=linspace(0,4*pi,1000); x=cos(t);
y=2*sin(t); z=t/5; plot3(x,y,z) %Para ver el dibujo con la misma escala en los %tres ejes
sólo necesitamos escribir axis equal
4. Ezsurfc(). Para combinar las curvas de nivel y grafica de una superficie, utilizamos esta
variante de ezsurf(). Por ejemplo
Como pueden ver, solo basta con poner el nombre la función, seguidamente el signo igual (=) y
luego el comando inline(), dentro de este, el cuerpo de la función debe ser escrito entre comillas
simples ( ‘ ‘ ) como si estuviésemos definiendo una cadena de caracteres. Así cuando ingresemos
un valor, este será evaluado en la función y se retornará el valor respectivo al terminar la
ejecución de la misma, por ejemplo.
Con lo anterior nos ahorramos entonces, tener que reescribir esa expresión cada vez que la
necesitemos evaluar o tener que guardarla como una función genérica en un archivo en disco,
también evitamos tener que usar por ejemplo variables simbólicas, las cuales para ser evaluadas o
manipuladas requieren de una mayor cantidad de procesamiento por parte de Matlab, si tenemos
en cuenta que necesitamos hacer muchas operaciones con dicha función, entonces las
variables simbólicas generarían perdidas de tiempo y un mayor esfuerzo computacional, lo
contrario ocurre si usamos funciones en linea, ya que no necesitamos funciones como subs()
polyval() o feval() para evaluar valores en ellas.
Existen unas reglas básicas para el uso efectivo de este tipo de funciones en Matlab y son las
siguientes:
La expresión matemática puede contener una o más variables independientes, f(x,y,z…,n).
Se puede usar cualquier letra como variable independiente excepto i y j (porque son las
constantes complejas de Matlab).
La expresión matemática puede contener cualquier función de Matlab o las que sean
definidas por el usuario.
La expresión se debe escribir según la dimensión de los argumentos de entrada (por
ejemplo operaciones elemento a elemento cuando se trabaja con vectores o matrices).
La expresión no puede incluir variables predefinidas en el workspace (no tiene acceso a
ellas).
Una vez que se define la función, ésta puede ser usada tecleando su nombre y pasando
sus argumentos de entrada como en el ejemplo anterior.
Una funciones inline (o de linea), también se puede usar como argumento de entrada en
otras funciones.
A modo de ejemplo vamos a definir la siguiente función de forma ‘inline’.
Guarda una matriz en un archivo utilizando el comando "Guardar". Esto no es una forma de
formatear los datos para la presentación, sino simplemente una manera de almacenar los datos de
salida para su posterior recuperación. He aquí un ejemplo, el cual guarda las matrices "xfactor" y
"yresults" a un archivo llamado "outputfile:"
Si sólo escribes "save" y el nombre del archivo, todas las variables actualmente en la memoria,
serán guardadas. Utiliza "cargar" con el nombre del archivo para recuperar tu trabajo durante una
sesión posterior de MATLAB.
Utiliza el comando "dlmwrite" para guardar una matriz como un archivo de texto legible. El
ejemplo siguiente guarda la matriz llamada "x" en un archivo llamado "output.txt:"
dlmwrite ('output.txt', x)
Con esta sencilla forma del comando, las entradas de cada fila de la matriz se separarán por comas
y cada fila estará en su propia línea. Utiliza la siguiente sintaxis para utilizar espacios en lugar de
comas:
dlmwrite('output.txt',x,' ')
Puedes utilizar cualquier carácter que desees en lugar del espacio. Este caracter se llama el
delimitador.
>>clear all
>>close all
load ('archivo.mat');
plot(x,y);
De forma análoga, los datos calculados por MATLAB pueden ser transferidos o exportados a
otras aplicaciones. Aunque existen distintos tipos de datos (números, texto, audio, gráficos e
imágenes).
Veremos exclusivamente cómo importar y exportar datos numéricos, que es probablemente
el tipo de datos más comúnmente usado en este tipo de transferencias de información. Para
otros tipos de datos puede consultarse la ayuda de MATLAB.
Los comandos son útiles cuando el formato de los datos importados es conocido. MATLAB
posee varios comandos que pueden ser utilizados para importar distintos tipos de datos. Los
comandos de importación se pueden incluir en un archivo script, de forma que los datos se
importen dentro del programa y antes de ser procesados por este.
Veamos cómo transferir datos desde/hacia hojas de cálculo Excel. Microsoft Excel es una
herramienta muy utilizada para la gestión de datos, además los datos que maneja esta
aplicación son altamente compatibles con bastantes tipos de dispositivos y aplicaciones
convencionales.
Para llevar a cabo la importación de datos desde Excel se utiliza el comando xlsread. Este
comando importa los datos de una hoja de cálculo Excel a una variable de tipo array. La
forma más simple de utilizar este comando es:
nombre_variable= xlsread('nombre_archivo')
La ubicación del archivo debe ser el directorio de trabajo actual o bien estar en la ruta de
búsqueda.
Si el archivo Excel importado tiene más de una hoja de cálculo sólo se importan los datos
de la primera de las hojas.
Si un archivo Excel contiene más de una hoja, se puede utilizar otra versión del comando
xlsreadpara decidir cuál de ellas importar:
nombre_variable=xlsread('nombre_archivo','nombre_hoja')
Otra opción permite importar sólo una región de una hoja de cálculo determinada a partir de
un archivo Excel:
nombre_variable=xlsread('nombre_archivo','nombre_hoja','rango')
El 'rango‘, es una región rectangular de la hoja definida por la dirección de las celdas con
respecto a las esquinas opuestas (sup-izq:inf-der) p/e 'C2:E5'
Si usted selecciona un archivo de datos del directorio actual y hace doble clic en el nombre
del archivo, se lanza el lmport Wizard (asistente de importación).
El lmport Wizard determina qué tipo de datos hay en el archivo y formas de representar los
datos en MATLAB.
MATLAB no soporta todos los posibles formatos de datos. Puede encontrar una lista
completa al escribir:
Doc fileformats
El asistente comienza visualizando una ventana de selección de archivos que muestra todos
los archivos y formatos reconocidos por el asistente.
Cualquier técnica para lanzar el Import Wizard requiere una interacción con el usuario. Si
quiere cargar un archivo de datos desde un programa MATLAB, necesitará usar
forzosamente comandos explícitos para la importación.
El usuario debe seleccionar el archivo en cuestión que contiene los datos a importar, y
después pulsar Open (Abrir). Seguidamente el asistente abre el archivo y visualiza una parte
de los datos en una ventana de pre-visualización, de forma que el usuario pueda verificar
que los datos son los correctos.
El asistente tratara de procesar los datos, y si lo consigue entonces visualizará las variables
que ha creado con una parte de los datos. Cuando el usuario pulsa el botón Next (Siguiente),
el asistente muestra los separadores de columnas utilizados para la estructuración de los
datos.
Si los datos son apropiados, el usuario puede proceder, pulsando de nuevo Next (Siguiente),
o escoger un separador diferente de columnas para los datos.
Cuando los datos son numéricos, las variables tendrán el mismo nombre que el archivo
importado.
Una vez que el asistente ha finalizado, pulsando el botón Finish (Finalizar), los datos se
importan en MATLAB.
1.8.4 Archivos con extensión M
Empezando a trabajar con ficheros .m
En Matlab tienen especial importancia los ficheros–M de extensión .m. Contienen conjuntos de
comandos a ejecutar o definición de funciones y se ejecutan al teclear su nombre en la línea de
comandos y pulsar intro (si se encuentra en el Current Directory) o al pinchar sobre él en Current
Directory con el botón derecho del ratón y elegir run. Representan el centro de la programación
en Matlab.
Un fichero .m puede llamar a otros ficheros .m y ficheros de comandos pueden ser llamados desde
ficheros de funciones. En estos casos es importante tener en cuenta la definición de las variables a
utilizar, en la línea de que tengan un tratamiento local o global. Por defecto, Matlab considera las
variables locales, es decir, aunque varias funciones tengan la variable x, ésta es diferente en cada
caso a no ser que haya sido definida como global.
Son ficheros de texto sin formato y que pueden crearse a partir de un editor de textos, no
obstante, lo mejor es utilizar el editor del propio programa al que se accede por defecto al abrir un
nuevo fichero.
Editor
Para crear un nuevo fichero .m elegimos new M-File del menú File o elegimos el icono
correspondiente. Aparece entonces la pantalla del editor/Debugger donde podemos ir escribiendo
las sentencias.
En el caso de la figura 1 el fichero contiene comentario, dos sentencias y otro comentario. Las
sentencias seguidas de (;) no se mostrarán en pantalla al ejecutar el fichero.
Figura 1
Una posibilidad de ejecutar el fichero es elegir Run del menú Debug (primeramente debe
guardarse con un nombre). Es posible ejecutar el mismo por partes incluyendo breakpoints lo que
puede hacerse con el icono de los puntos rojos. Si se tienen estos puntos de parada se continúa de
uno a otro con la opción de Continue. Es posible visualizar el valor que van tomando los distintos
elementos del fichero posándonos con el ratón sobre ellos (figura 2).
Es interesante ir conociendo los demás botones y menús del editor que nos permite eliminar los
breakpoints, terminar la ejecución,.... Resulta muy útil para detectar errores y corregirlos y en
general para programar
Figura 2
Si se desea modificar o visualizar un fichero .m ya creado, es suficiente con abrirlo desde Open en
el menú File o hacer doble Click en su nombre desde el Current Direcrory. Ambas opciones dan
acceso al editor y al fichero.
Ya se ha introducido que existen dos tipos de ficheros .m. Se comentarán con más detalle cada
uno de ellos.
Estos ficheros, también llamados scripts, contienen listas de comandos que se ejecutan
sucesivamente cuando se ejecuta dicho fichero, es decir cuando se escribe el nombre del fichero
en la línea de comandos y se pulsa intro. Es importante destacar que en estos ficheros, las
variables que se crean pertenecen al espacio base del Matlab, algo que no ocurre en los ficheros
de función donde las variables pertenecen sólo al espacio de trabajo de esa función. Puede
comprobarse esto ejecutando el fichero de la figura 2.
Definición de funciones
Funciones de librería
Ya conocemos, si no puede consultarse la ayuda, los diversos tipos de funciones que tiene el
programa. Se clasifican en:
Existen funciones (las matemáticas trascendentes y algunas básicas) que actúan sobre escalares o
sobre cada elemento de una matriz. Por ejemplo:
>> sin(0)
ans =
>> A=[1 2 3]
A=
123
>> sin(A)
43
ans =
0.8415 0.9093 0.1411
>>
Existen otras que sólo actúan sobre vectores, no sobre escalares ni matrices. Por ejemplo, max(x),
min(x) devuelve el elemento máximo y mínimo de entre los elementos del vector x. También nos
dan la posición donde se encuentra.
>> A=[1 2 3]
A=
123
>> max(A)
ans =
>> [p,q]=max(A)
p=
q=
>>
De igual forma, otras funciones sólo se aplican sobre matrices. Son las que se encuentran en el
grupo de funciones matriciales elementales, funciones matriciales especiales y funciones de
factorización y/0 descomposición matricial. Por ejemplo trace(A) que nos da la traza de la matriz A,
[p,q]=eig(A) nos da los valores propios y vectores propios asociados a la matriz A.
La palabra function escrita al comienzo de un fichero .m nos permite definir una función
constituyendo una de las aplicaciones más importantes del programa. Su sintaxis es la siguiente:
cuerpo de la función
Es muy importante incidir en que los argumentos o variables de la función son de carácter local, es
decir, no interfieren con otras variables del mismo nombre que hayan sido definidas en otra parte
del programa, otros ficheros .m o en la ventana de trabajo. Para que una función tenga acceso a
variables que no se hayan definido como parte de sus argumentos, éstas deben definirse como
globales tanto en el programa principal como en los ficheros .m dónde se quiera tener en cuenta.
El comando es global x,y,.....
El siguiente ejemplo, figura 3, define una función f que calcula el cuadrado del valor que se desee:
Figura 3
Es importante destacar:
Destacar también que esta función se aplica sobre cualquier tipo de entrada para la que
esté definida la operación. En este caso si lo aplicamos sobre un vector o una matriz no
cuadrada nos dará un mensaje de error. Sí se aplica sobre matrices cuadradas calcula el
producto de dicha matriz por ella misma. Si queremos que la función f se aplique sobre
todo tipo de matrices calculando el cuadrado de cada elemento es suficiente con definir la
operación con el punto delante:
function p=f(x);
p=x.^2
Por defecto, Matlab trabaja con la carpeta “C:\matlab\work” e inicialmente todos los archivos que
no se encuentren en esa carpeta u otras que ya hayan sido configuradas no son reconocidas por el
programa. De ahí que se recomiende al grupo de prácticas que se cree una carpeta dentro de
“C:\matlab\work”, que la active para que la reconozca Matlab, y que a partir de entonces todos
los archivos sobre los que trabaje se encuentre dentro de esta carpeta.
Ejemplo 1: Calcular la suma de los n primeros términos de la sucesión 1, 2x, 3x^2, 4x^3, ...
n=input('¿Cuántos términos quieres sumar? ');
x=input('Dame el valor del numero x ');
suma=1;
for i=2:n
suma=suma+i*x^(i-1);
end
disp('El valor pedido es')
disp(suma)
Ejemplo 3: Escribir un número natural en una base dada (menor que diez).
n=input('Dame el número que quieres cambiar de base ');
base=input('¿En qué base quieres expresarlo? ');
i=1;
while n>0
c(i)=rem(n,base);
n=fix(n/base); % Parte entera de n/base
i=i+1;
end
disp('La expresión en la base dada es:')
i=i-1;
disp(c(i:-1:1))
1.10 Animacion en graficas
INTRODUCCION:
A continuación, se le presenta el trabajo de investigación el cual contiene el
entorno gráfico y alguno de los comandos básicos que usan en Matlab,
también abarca lo que se puede hacer usando esta gran herramienta.
Su uso puede ser tanto a nivel de formación académica o para resoluciones
científicas.
MatLab es un programa interactivo para computación numérica y
visualización de datos. Es ampliamente usado por Ingenieros de Control en el
análisis y diseño, posee además una extraordinaria versatilidad y capacidad
para resolver problemas en matemática aplicada, física, química, ingeniería,
finanzas y muchas otras aplicaciones.
MATLAB es un entorno de computación y desarrollo de aplicaciones
totalmente integrado orientado para llevar a cabo proyectos en donde se
encuentren implicados elevados cálculos matemáticos y la visualización
gráfica de los mismos.
CONCLUSION:
Como conclusión podemos decir que Matlab es una herramienta que
responde a las necesidades de resoluciones de problemas que tengamos,
también es un programa fácil de usar (dependiendo grado de los problemas,
si se hace un uso debido de esta herramienta, podemos llegar a resolver
cualquier ecuación que se nos plantee tanto en modo grafico como
numérico.