0% encontró este documento útil (0 votos)
30 vistas13 páginas

Introd Matlab

Cargado por

Liz Nieto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas13 páginas

Introd Matlab

Cargado por

Liz Nieto
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Taller de MatLab Objetivo Conocer el ambiente de trabajo de MatLab y algunas de las funciones ms importantes para operacin con matrices

y aplicaciones a Ingeniera Industrial.

MATLAB: Es un lenguaje de clculo tcnico MATLAB es un lenguaje de alto nivel y un entorno interactivo que le permite realizar tareas de clculo complejas de forma ms rpida que con los lenguajes de programacin tradicionales, como C, C++ y Fortran. MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para realizar clculos numricos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros escalares tanto reales como complejos, con cadenas de caracteres y con otras estructuras de informacin ms complejas. Una de las capacidades ms atractivas es la de realizar una amplia variedad de grficos en dos y tres dimensiones. MATLAB tiene tambin un lenguaje de programacin propio. Este manual hace referencia a la versin 7.0 de este programa (tambin llamada release 14), aparecida a mediados de 2004.

VENTANAS DE INICIO Command Windows: Es donde se ejecutan los comandos de MATLAB Current Directory: Muestra los ficheros del directorio activo o actual Clicando dos veces sobre alguno de los ficheros *.m del directorio activo se abre el editor de ficheros Command History: Muestra los ltimos comandos ejecutados en la Command Window Estos comandos se pueden volver a ejecutar haciendo doble clic sobre ellos

Botn Start: Da acceso inmediato a ciertas capacidades del programa, por ejemplo la funcin de AYUDA o de DEMOS Start/Desktop Tools: permiten el acceso a las principales componentes o mdulos de MATLAB

Introduccin a comandos: Ventana Command Windows Teclear la siguiente instruccin >> A=rand(6), B=inv(A), C=A*B Aparecer

Es con grandes matrices o grandes sistemas de ecuaciones como MATLAB obtiene toda la potencia del ordenador. Por ejemplo, las siguientes instrucciones permiten calcular la potencia de clculo del ordenador en Megaflops (millones de operaciones aritmticas por segundo). En la primera lnea se crean tres matrices de tamao 10001000, las dos primeras con valores aleatorios y la tercera con valores cero. La segunda lnea toma tiempos, realiza el producto de matrices, vuelve a tomar tiempos y calcula de modo aproximado el nmero de millones de operaciones realizadas. La tercera lnea calcula los Megaflops por segundo, para lo cual utiliza la funcin etime() que calcula el tiempo transcurrido entre dos instantes definidos por dos llamadas a la funcin clock: >> n=1000; A=rand(n); B=rand(n); C=zeros(n); >> tini=clock; C=B*A; tend=clock; mflops=(2*n^3)/1000000; >> mflops/etime(tend,tini)

Otro de los puntos fuertes de MATLAB son los grficos, que se vern con ms detalle en una seccin posterior. A ttulo de ejemplo, se puede teclear la siguiente lnea y pulsar intro: >> x=-4:.01:4; y=sin(x); plot(x,y), grid, title('Funcin seno(x)') Funcin clc (Clean Console): Borra todas las instrucciones Funcin Home: Lleva el Promp a la primera lnea de la ventana Comandos quick o exit: Para salir del programa MatLab

Uso de Help 1. Full Product Family Help 2. MATLAB Help Functions Handle Graphics Documentation Set 3. Using the Desktop 4. Using the Command Window 5. Web Resources 6. Check for Updates 7. Demos

Adems, de una forma muy inmediata, es posible tambin recurrir al Help desde la lnea de comandos de la Command Window, tecleando help y el comando o la funcin de la cual se necesite ayuda, por ejemplo help sin muestra la estructura y los parmetros de la funcin seno

Command Windows 1. Se permiten lneas de comandos muy largas que automticamente siguen en la lnea siguiente al llegar al margen derecho de la ventana. Para ello hay que activar la opcin Wrap Lines, en el men File/Preferences/Command Window. 2. Clicando con el botn derecho sobre el nombre de una funcin que aparezca en esta ventana se tiene acceso a la pgina del Help sobre dicha funcin. Si el cdigo fuente (fichero *.m) est disponible, tambin se puede acceder al fichero correspondiente por medio del Editor/Debugger. 3. Comenzando a teclear el nombre de una funcin y pulsando la tecla Tab, MATLAB completa automticamente el nombre de la funcin, o bien muestra en la lnea siguiente todas las funciones disponibles que comienzan con las letras tecleadas por el usuario. 4. Cuando al ejecutar un fichero *.m se produce un error y se obtiene el correspondiente mensaje en la Command Window, MATLAB muestra mediante un subrayado un enlace a la lnea del fichero fuente en la que se ha producido el error. Clicando en ese enlace se va a la lnea correspondiente del fichero por medio del Editor/Debugger.

Command History Browser La ventana Command History ofrece acceso a las sentencias que se han ejecutado anteriormente en la Command Window. Estas sentencias estn tambin accesibles por medio de las teclas y , pero esta ventana facilita mucho el tener una visin ms general de lo hecho anteriormente y seleccionar lo que realmente se desea repetir.

Current Directory Browser El concepto de directorio activo o directorio actual es muy importante en MATLAB. Los programas de MATLAB se encuentran en ficheros con la extensin *.m. Estos ficheros se ejecutan tecleando su nombre en la lnea de comandos (sin la extensin), seguido de los argumentos entre parntesis, si se trata de funciones. No todos los ficheros *.m que se encuentren en el disco duro o en otras unidades lgicas montadas en una red local son accesibles sin ms. Para que un fichero *.m se pueda ejecutar es necesario que se cumpla una de las dos condiciones siguientes: 1. Que est en el directorio actual. MATLAB mantiene en todo momento un nico directorio con esta condicin. Este directorio es el primer sitio en el que MATLAB busca cuando desde la lnea de comandos se le pide que ejecute un fichero. 2. Que est en uno de los directorios indicados en el Path de MATLAB. El Path es una lista ordenada de directorios en los que el programa busca los ficheros o las funciones que ha de ejecutar. Muchos de los directorios del Path son propios de MATLAB, pero los usuarios tambin pueden aadir sus propios directorios, normalmente al principio o al final de la lista. El comando pwd (de print working directory) permite saber cul es el directorio actual. Para cambiar de directorio actual se puede utilizar el comando cd (de change directory) en la lnea de comandos, seguido del nombre del directorio, para el cual se puede utilizar un path absoluto (por ejemplo cd C:\Matlab\Ejemplos) o relativo (cd Ejemplos). Para subir un nivel en la jerarqua de directorios se utiliza el comando cd .., y cd ../.. para subir dos niveles. ste es el mismo sistema que se sigue para cambiar de directorio en las ventanas de MS-DOS. MATLAB permite utilizar la barra normal (/) y la barra invertida (\), indistintamente.

WorkSpace Browser El espacio de trabajo de MATLAB (Workspace) es el conjunto de variables y de funciones de usuario que en un determinado momento estn definidas en la memoria del programa o de la funcin que se est ejecutando. Comandos who y whos La ventana Workspace constituye un entorno grfico para ver las variables definidas en el espacio de trabajo Se activa con el comando View/Workspace

Debugger

Es el editor de comandos en Mat Lab Son ficheros de texto ASCII, con la extensin *.m, que contienen conjuntos de comandos o definicin de funciones (M-files). El poder guardar instrucciones y grandes matrices en un fichero permite ahorrar mucho trabajo de tecleado. Aunque los ficheros *.m se pueden crear con cualquier editor de ficheros ASCII tal como Notepad, MATLAB dispone de un editor que permite tanto crear y modificar estos ficheros, como ejecutarlos paso a paso para ver si contienen errores (proceso de Debug o depuracin).

Formatos de Salida Respecto a los formatos numricos con que MATLAB muestra los resultados (recurdese que siempre calcula con doble precisin, es decir con unas 16 cifras decimales equivalentes), las posibilidades existentes se muestran a continuacin: short coma fija con 4 decimales (defecto) long coma fija con 15 decimales hex cifras hexadecimales bank nmeros con dos cifras decimales short e notacin cientfica con 4 decimales short g notacin cientfica o decimal, dependiendo del valor long e notacin cientfica con 15 decimales long g notacin cientfica o decimal, dependiendo del valor rational expresa los nmeros racionales como cocientes de enteros

Estos formatos se pueden cambiar tambin desde la lnea de comandos anteponiendo la palabra format. Por ejemplo, para ver las matrices en formato long habr que ejecutar el comando:
>> format long

Comandos save y load Para guardar el estado de una sesin de trabajo existe el comando save. Si se teclea:
>> save

se crea en el directorio actual un fichero binario llamado matlab.mat Dicho estado puede recuperarse la siguiente vez que se arranque el programa con el comando:
>> load

Los comandos save y load se pueden utilizar con nombres particulares (filename) con el siguiente formato:
>> save filename >> load filename

El comando save permite guardar el estado de la sesin en formato ASCII utilizndolo de la siguiente forma:
>> save -ascii % almacena 8 cifras decimales >> save -ascii -double % almacena 16 cifras decimales >> save -ascii -double -tab % almacena 16 cifras separadas por tabs

Lneas de Comentarios Ya se ha indicado que para MATLAB el carcter tanto por ciento (%) indica comienzo de comentario. Cuando aparece en una lnea de comandos, el programa supone que todo lo que va desde ese carcter hasta el fin de la lnea es un comentario.

OPERACIONES CON MATRICES Y VECTORES


Definicin de matrices desde teclado Las matrices se definen o introducen por filas; los elementos de una misma fila estn separados por blancos o comas, mientras que las filas estn separadas por pulsaciones intro o por caracteres punto y coma (;). Por ejemplo, el siguiente comando define una matriz A de dimensin (33):
>> A=[1 2 3; 4 5 6; 7 8 9]

La respuesta del programa es la siguiente:


A 1 4 7 = 2 3 5 6 8 9

En MATLAB el apstrofo (') es el smbolo de transposicin matricial. Para calcular A' (traspuesta de A) basta teclear lo siguiente (se aade a continuacin la respuesta del programa):
>> A' ans = 1 4 7 2 5 8 3 6 9

Como el resultado de la operacin no ha sido asignado a ninguna otra matriz, MATLAB utiliza un nombre de variable por defecto (ans, de answer), que contiene el resultado de la

ltima operacin. La variable ans puede ser utilizada como operando en la siguiente expresin que se introduzca. Tambin podra haberse asignado el resultado a otra matriz llamada B:
>> B=A' B = 1 4 7 2 5 8 3 6 9

Ahora ya estn definidas las matrices A y B, y es posible seguir operando con ellas. Por ejemplo, se puede hacer el producto B*A (deber resultar una matriz simtrica):
>> B*A ans = 66 78 90 78 93 108 90 108 126

Matriz Inversa
>> A=[1 4 -3; 2 1 5; -2 5 3] A = 1 4 -3 2 1 5 -2 5 3

Ahora se va a calcular la inversa de A y el resultado se asignar a B. Para ello basta hacer uso de la funcin inv( ) (la precisin o nmero de cifras con que se muestra el resultado se puede cambiar con el men File/Preferences/General):
B=inv(A) B = 0.1803 0.2213 -0.1885 0.1311 0.0246 0.0902 -0.0984 0.1066 0.0574

Para comprobar que este resultado es correcto basta pre-multiplicar A por B;


>> B*A ans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000

OPERADORES ARITMTICOS + * ' ^ \ / .* ./ y .\ .^ adicin o suma sustraccin o resta multiplicacin traspuesta potenciacin divisin-izquierda divisin-derecha producto elemento a elemento divisin elemento a elemento elevar a una potencia elemento a elemento

Considere el siguiente ejemplo


>> A=[1 2; 3 4] A = 1 2 3 4 >> A*2 ans = 2 4 6 8 >> A-4 ans = -3 -2 -1 0
SISTEMAS DE ECUACIONES LINEALES

Ax = b x = inv(A)*b x = A\b
Por ejemplo:

divisin-izquierda

2x1 + 3x2 x3 = 2 -4x1 - 2x2 3x3 = -1 x1 + x2 + 2x3 = 4 OPERADORES ELEMENTO A ELEMENTO En MATLAB existe tambin la posibilidad de aplicar elemento a elemento los operadores matriciales (*, ^, \ y /). Para ello basta precederlos por un punto (.). Por ejemplo:
>> [1 2 3 4]^2

??? Error using ==> ^ Matrix must be square.

>> [1 2 3 4].^2 ans = 1 4 9 16 >> [1 2 3 4]*[1 -1 1 -1] ??? Error using ==> * Inner matrix dimensions must agree. >> [1 2 3 4].*[1 -1 1 -1] ans = 1 -2 3 -4

El comando clear tiene varias formas posibles: clear sin argumentos, clear elimina todas las variables creadas previamente (excepto las variables globales). clear A, b borra las variables indicadas. clear global borra las variables globales. clear functions borra las funciones. clear all borra todas las variables, incluyendo las globales, y las funciones. TIPOS DE MATRICES PREDEFINIDOS eye(4) zeros(3,5) zeros(4) ones(3) ones(2,4) forma la matriz unidad de tamao (44) forma una matriz de ceros de tamao (35) dem de tamao (44) forma una matriz de unos de tamao (33) idem de tamao (24)

rand(3)

forma una matriz de nmeros aleatorios entre 0 y 1, con distribucin uniforme, de tamao (33)

zeros(size(A)) forma una matriz de ceros del mismo tamao que una matriz A previamente creada

OPERADOR DOS PUNTOS (:) Para empezar, defnase un vector x con el siguiente comando:
>> x=1:10 x = 1 2 3 4 5 6 7 8 9 10

En cierta forma se podra decir que el operador (:) representa un rango: en este caso, los nmeros enteros entre el 1 y el 10. Por defecto el incremento es 1, pero este operador puede tambin utilizarse con otros valores enteros y reales, positivos o negativos. En este caso el incremento va entre el valor inferior y el superior, en las formas que se muestran a continuacin:
>> x=1:2:10 x = 1 3 5 7 9

Elementos de una Matriz


>> A=magic(6) >> A(2,3) ans = 7

El siguiente comando extrae los 4 primeros elementos de la 6 fila:


>> A(6, 1:4) ans = 4 36 29 13

FUNCIONES DE LIBRERA

Funciones matemticas elementales sin(x) seno cos(x) coseno tan(x) tangente asin(x) arco seno acos(x) arco coseno

FUNCIN LINSOLVE() La funcin linsolve es la forma ms eficiente de que dispone MATLAB para resolver sistemas de ecuaciones lineales. Las formas generales de la funcin linsolve para resolver Ax=b son las siguientes:
x = linsolve(A,b)

Funciones para clculos con polinomios

Para MATLAB un polinomio se puede definir mediante un vector de coeficientes. Por ejemplo, el polinomio: x4 8x2+ 6x 10 = 0 se puede representar mediante el vector [1, 0, -8, 6, -10]. MATLAB puede realizar diversas operaciones sobre l, como por ejemplo evaluarlo para un determinado valor de x (funcin polyval()) y calcular las races (funcin roots()):
>> pol=[1 0 -8 6 -10] >> roots(pol) >> polyval(pol,1)

Funciones grficas 2D elementales plot() crea un grfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes loglog() dem con escala logartmica en ambos ejes semilogx() dem con escala lineal en el eje de ordenadas y logartmica en el eje de abscisas semilogy() dem con escala lineal en el eje de abscisas y logartmica en el eje de ordenadas

Existen adems otras funciones orientadas a aadir ttulos al grfico, a cada uno de los ejes, a dibujar una cuadrcula auxiliar, a introducir texto, etc. Estas funciones son las siguientes: title('ttulo') aade un ttulo al dibujo xlabel('tal') aade una etiqueta al eje de abscisas. ylabel('cual') aade una etiqueta al eje de ordenadas. text(x,y,'texto') introduce 'texto' en el lugar especificado por las coordenadas x e y. gtext('texto') introduce texto con ayuda del ratn: legend() define rtulos para las distintas lneas o ejes utilizados en la figura. grid activa la inclusin de una cuadrcula en el dibujo.

Funcin figure Si se llama a la funcin figure sin argumentos, se crea una nueva ventana grfica con el nmero consecutivo que le corresponda. El valor de retorno es dicho nmero. El comando clf elimina el contenido de la figura activa, es decir, la deja abierta pero vaca. La funcin gcf devuelve el nmero de la figura activa en ese momento.

Ejecute el siguiente conjunto de comandos


>> >> >> >> >> >> >> >> >> >> >> >> x=[-4*pi:pi/20:4*pi]; plot(x,sin(x),'r',x,cos(x),'g') title('Funcin seno(x) -en rojo- y funcin coseno(x) -en verde-') xlabel('ngulo en radianes'), figure(gcf) ylabel('valor de la funcin trigonomtrica'), figure(gcf) axis([-12,12,-1.5,1.5]), figure(gcf) axis('equal'), figure(gcf) axis('normal'), figure(gcf) axis('square'), figure(gcf) axis('off'), figure(gcf) axis('on'), figure(gcf) axis('on'), grid, figure(gcf)

Graficas de Funciones en 3D Funcin plot3(x, y, z) t=0:pi/50:10*pi plot3(sin(t), cos(t), t) axis square; grid on Funcin mesh(Z) [X,Y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=X.*exp(-X.^2 Y.^2); zesh(Z)

También podría gustarte