Vous êtes sur la page 1sur 19

Qu es Matlab?

Matlab es un programa command-driven, es decir, que se introducen las rdenes escribindolas una a una a continuacin del smbolo (prompt) que aparece en una interfaz de usuario (una ventana). Una herramienta para hacer clculos matemticos que utiliza como elemento bsico la matriz. Un lenguaje de programacin: interactivo: rdenes avanzado pero fcil de utilizar: archivos.m Plataforma de desarrollo: toolboxes Ventajas del Matlab Su programacin requiere menos tiempo que otros lenguajes como FORTRAN, C, Pascal, etc. Utiliza un lenguaje ms cercano a la matemtica. Permite definir fcil y rpidamente nuevas funciones que se incorporan a Matlab (mediante el toolboxes) Grandes capacidades grficas. Qu se puede realizar? Polinomios Grficos 2D Grficos 3D Ajuste de curvas Interpolacin Anlisis numrico Desarrollo de algoritmos Modelado, simulacin y prueba de prototipos Anlisis de datos, exploracin y visualizacin Graficacin de datos con fines cientficos o de ingeniera Desarrollo de aplicaciones que requieran de una interfaz grfica de usuario. En el mbito acadmico y de investigacin, MATLAB es la herramienta estndar para los cursos introductorios y avanzados de matemticas, ingeniera e investigacin. En la industria MATLAB es la herramienta usada para el anlisis, investigacin y desarrollo de nuevos productos tecnolgicos. La ventaja principal de MATLAB es el uso de familias de comandos de reas especficas llamadas toolboxes. Lo ms importante para los usuarios de MATLAB es que los toolboxes le permiten aprender y aplicar la teora. Los toolboxes son grupos de comandos de MATLAB (archivos M) que extienden el ambiente de MATLAB para resolver problemas de reas especficas de la ciencia e ingeniera. Por ejemplo, existen toolboxes para las reas de Procesamiento Digital de Seales, Sistemas de Control, Redes Neuronales, Lgica Difusa, Wavelets, etc.

Grafico 2-D
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

0.5

1.5

2.5

3.5

4.5

Grafico 3-D

10

-5

-10 30 20 10 0 5 0 15 10 25 20

Espacio de trabajo Al ejecutarse Matlab se crea una ventana de trabajo que corresponde al lugar desde donde se interacciona con Matlab: El smbolo denota que se esta esperando una orden 123*456 ans = 56088 ans almacena el resultado por defecto. La variable ans es una variable interna utilizada por Matlab para almacenar resultados que no han sido asignados a ninguna otra variable. Instruccin de asignacin.- Consiste en un nombre de variable seguido de un signo igual y de los valores de datos que se asignarn a la variable. a=8/3 Por medio de este comando se ha asignado el valor 2.6667 a la variable a m = [1 2 3 4 5 6 7 8 9] En este caso los valores entre corchetes han sido asignados a la variable m. b=13/2; Si se quiere asignar un valor sin que de respuesta, la asignacin debe terminar con el signo ; Funciones bsicas Suma: + resta: multiplicacin: * divisin: \ / potencia: ^

Matriz .- Conjunto de nmeros dispuestos en una retcula rectangular de filas y columnas. M = [1 2 3 ;4 5 6 ;7 8 9] M= 1 4 7 2 5 8 3 6 9

Esta instruccin es un ejemplo de la instruccin de asignacin, que consiste en un nombre de variable seguido de un signo igual y de los valores de datos que se asignarn a la variable. Dichos valores se encierran entre corchetes en orden por fila; las filas se separan con signos de punto y coma, y los valores de cada fila se separan mediante comas o espacios. Un valor puede contener un signo + - y un punto decimal, pero no puede contener una coma. Cuando definimos una matriz, MATLAB imprime el valor de la matriz en la pantalla a menos que suprimamos la impresin con un signo de punto y coma despus de la definicin. Si hay demasiados nmeros en una fila de una matriz para que quepan en una lnea, podemos continuar la instruccin en la siguiente lnea, pero se requiere una coma y tres puntos (puntos suspensivos) al final de la lnea para indicar que la fila debe continuar. MATLAB tambin nos permite definir una matriz usando otra matriz que ya se defini.

Escalar.- Si una matriz tiene una fila y una columna, podemos llamar escalar al nmero. Vector.- Si una matriz tiene una fila o una columna, la llamamos vector; usamos el trmino vector fila o vector columna.

Un vector se define introduciendo los componentes, separados por espacios o por comas, entre corchetes: f1=[-2 0 2] f1 = -2 0 2 Para definir un vector columna, se separan las filas por puntos y comas: c1=[-0.3333;0;0.3333] c1 = -0.3333 0 0.3333 Podemos seleccionar un elemento de un vector o un subconjunto de elementos. Para especificar un elemento de una matriz usa el nmero de fila y el de columna. Para referirse a un elemento de la matriz: M(6) ans = 8 Matlab almacena las matrices como una simple columna que esta compuesta por todos los elementos de las columnas de la matriz M(3,1) ans = 7 Para direccionar elementos aislados se utiliza un array de ndices Ejemplo: u=[23 45 12 2+3i -2i 32 12]; u([4 1 2]) ans = 2+3i 23 45 u([1 4 7]) ans = 23 2+3i 12

Operador de dos puntos.- Puede usarse dicho operador para crear vectores a partir de una matriz. Si se usa un signo de dos puntos en una referencia de matriz en lugar de un subndice especfico, el signo de dos puntos representa a toda la fila o columna. El operador de dos puntos tambin puede servir para generar matrices nuevas. Si se usa un signo de dos puntos para separar dos enteros, el operador de dos puntos generar todos los enteros entre los dos enteros especificados. >> W = 1 : 10 W = 1 2 3 4 5 6 7 8 9 10 Si se usan signos de dos puntos para separar tres nmeros, el operador de dos puntos generar valores entre el primer nmero y el tercero, usando el segundo nmero como incremento. >> X= 1 : 2 : 10 X=1 3 5 7 9 >> Y = 1 : 1.5 : 10 Y = 1.0000 2.5000 4.000 5.5000 7.0000 8.5000 10-0000

>> Z = 10 : -1 : 1 Z = 10 9 8 7 6 5 4 3 2 1

El operador de dos puntos tambin puede servir para seleccionar una submatriz de otra matriz. El siguiente comando extrae los dos primeros elementos de la tercera fila: >> M(3, 1 : 2) Ans = 7 8

Para referirse a toda una fila o a toda una columna se emplean los dos puntos. Los dos puntos aislados representan todos los elementos. Por ejemplo, Si desea visualizar todos los elementos de una fila: M(2,:) Extraer todos los elementos de una columna. M(:,2) Extraer todos los elementos de dos columnas. M(:,2:3)

>> v=[1 2 3; 4 5 6;7 8 9] v= 1 4 7 >> v(2:6) ans = 4 2 5 8 3 6 9

>> v(2:2:6) ans = 4 2

Matriz cuadrada.- Es una matriz con m filas = n columnas. Matriz nula.- Todos los elementos de la matriz nula son ceros. Las matrices nulas se definen en MATLAB con el comando zeros. Con A = zeros(m,n), A se convierte en una matriz nula de m por n. A = zeros(n) devuelve una matriz nula de n por n. Por ejemplo: A=zeros(3) A= 0 0 0 0 0 0 0 0 0

Dado que el comando size devuelve dos argumentos escalares que representan el nmero de filas y el nmero d columnas de una matriz, podemos usar size para generar una matriz que tenga el mismo tamao que otra matriz. El comando ones genera una matriz que solo contiene unos, igual que el comando zeros genera una matriz que slo contiene ceros. Los argumentos para el comando ones tiene la misma funcionalidad que los de zeros. El comando magic (n) crea una matriz cuadrada de nxn con filas, columnas y diagonales cuyas sumas es la misma. >> Z= magic(3) Matriz identidad.- Es una matriz con unos en la diagonal principal y ceros en las dems posiciones. La orden de MATLAB para definir una matriz identidad es eye. Con B = eye(n), B se convierte en una matriz identidad de n por n. >> B= eye(3) B= 1 0 0

0 1 0

0 0 1

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

FUNCIONES
FUNCION.- Una funcin tiene nombre, valor de retorno y argumentos. Los argumentos
de cada funcin van a continuacin del nombre entre parntesis (y separados por comas si hay ms de uno). Los valores de retorno son el resultado de la funcin y sustituyen a sta en la expresin donde la funcin aparece. Los nombres de funciones deben estar en minsculas. Variable_resultado = funcin (argumento) Ejemplos: x=linspace(-2,2) y = sin (x) z = sin (x*pi/180) Las referencias de funcin tambin pueden formar parte del argumento de otra referencia de funcin. Si se usa una funcin para calcular el argumento de otra funcin, hay que asegurarse de que el argumento de cada funcin est encerrado en su propio juego de parntesis. Este anidamiento de funciones se llama composicin de funciones. Ejemplo: v = -10 w = log (abs (v) )

FUNCIONES MATEMATICAS
abs(x) sqrt(x) round(x) fix(x) floor(x) ceil(x) sign(x) rem(x,y) exp(x) log(x) log10(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) Calcula el valor absoluto de x. Calcula la raz cuadrada de x. Redondea x al entero ms cercano. Redondea x al entero ms cercano a 0. Redondea x al entero ms cercano a -. Redondea x al entero ms cercano a . Devuelve un valor de 1 si x es menor que 0, un valor de 0 si x es igual a 0 y un valor de 1 si x es mayor que 0. Devuelve el residuo de x/y. Calcula ex, donde e es la base de los logaritmos naturales. Calcula ln x, el logaritmo natural de x con base e. Calcula log10x, el logaritmo comn de x con base 10. seno coseno tangente arco seno (devuelve un ngulo en radianes entre /2 y /2) arco coseno (devuelve un ngulo en radianes entre 0 y ) arco tangente (devuelve un ngulo entre -/2 y +/2)

FUNCIONES TRIGONOMETRICAS E HIPERBOLICAS

Las funciones hiperblicas son funciones de la funcin exponencial natural, ex. Las funciones hiperblicas inversas son funciones de la funcin de logaritmo natural, ln x. sinh(x) seno hiperblico cosh(x) coseno hiperblico tanh(x) tangente hiperblica asinh(x) arco seno hiperblico acosh(x) arco coseno hiperblico
Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB
atanh(x) arco tangente hiperblica

FACULTAD DE INGENIERIA QUIMICA-UNICA

Estas no son todas las funciones de las que disponemos, pero para empezar ya son unas cuantas. Si consultamos la ayuda ( recordemos que MATLAB nos ofrecer ayuda en cualquier momento escribiendo help). >> help HELP topics: matlab\general matlab\ops matlab\lang matlab\elmat matlab\elfun matlab\specfun matlab\matfun matlab\datafun matlab\polyfun matlab\funfun matlab\sparfun matlab\graph2d matlab\graph3d matlab\specgraph matlab\graphics matlab\uitools matlab\strfun matlab\helptools matlab\demos ......................... toolbox\splines toolbox\stats toolbox\symbolic ........................... General purpose commands. Operators and special characters. Programming language constructs. Elementary matrices and matrix manipulation. Elementary math functions. Specialized math functions. Matrix functions - numerical linear algebra. Data analysis and Fourier transforms. Interpolation and polynomials. Function functions and ODE solvers. Sparse matrices. Two dimensional graphs. Three dimensional graphs. Specialized graphs. Handle Graphics. Graphical user interface tools. Character strings. Help commands. Examples and demonstrations.

- Spline Toolbox - Statistics Toolbox - Symbolic Math Toolbox

Podemos escribir help elfun (elfun: elementary functions) para que nos informe de mas funciones matemticas que tiene disponibles. >> help elfun Elementary math functions. Trigonometric. sin sinh asin asinh cos cosh acos acosh tan tanh atan - Sine. - Hyperbolic sine. - Inverse sine. - Inverse hyperbolic sine. - Cosine. - Hyperbolic cosine. - Inverse cosine. - Inverse hyperbolic cosine. - Tangent. - Hyperbolic tangent. - Inverse tangent.
Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB
atanh sec sech asec asech csc csch acsc acsch cot coth acot acoth Exponential. exp log log10 sqrt Complex. abs conj imag real

FACULTAD DE INGENIERIA QUIMICA-UNICA

- Inverse hyperbolic tangent. - Secant. - Hyperbolic secant. - Inverse secant. - Inverse hyperbolic secant. - Cosecant. - Hyperbolic cosecant. - Inverse cosecant. - Inverse hyperbolic cosecant. - Cotangent. - Hyperbolic cotangent. - Inverse cotangent. - Inverse hyperbolic cotangent. - Exponential. - Natural logarithm. - Common (base 10) logarithm. - Square root. - Absolute value. - Complex conjugate. - Complex imaginary part. - Complex real part.

Rounding and remainder. fix - Round towards zero. floor - Round towards minus infinity. ceil - Round towards plus infinity. round - Round towards nearest integer. rem - Remainder after division.

Podemos escribir help elmat: >> help elmat Elementary matrices and matrix manipulation. Elementary matrices. zeros - Zeros array. ones - Ones array. eye - Identity matrix. repmat - Replicate and tile array. rand - Uniformly distributed random numbers. randn - Normally distributed random numbers. linspace - Linearly spaced vector. logspace - Logarithmically spaced vector. freqspace - Frequency spacing for frequency response. meshgrid - X and Y arrays for 3-D plots. accumarray - Construct an array with accumulation. : - Regularly spaced vector and index into matrix.

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

Tambin podemos solicitar ayuda sobre una funcin especfica: >> help linspace linspace linspace (X1, X2) linspace (X1, X2, N) Linearly spaced vector. Generates a row vector of 100 linearly equally spaced points between X1 and X2. Generates N points between X1 and X2.

Matlab tambin nos ofrecer ayuda sobre otras funciones escribiendo help specfun (special functions). >> help specfun Specialized math functions. Specialized math functions. airy - Airy functions. besselj - Bessel function of the first kind. bessely - Bessel function of the second kind. beta - Beta function. betainc - Incomplete beta function. betaln - Logarithm of beta function. ellipj - Jacobi elliptic functions. erf - Error function. erfc - Complementary error function. erfinv - Inverse error function. expint - Exponential integral function. gamma - Gamma function. gammainc - Incomplete gamma function. legendre - Associated Legendre function. cross - Vector cross product. dot - Vector dot product. Number theoretic functions. gcd - Greatest common divisor.

lcm

- Least common multiple.

FUNCIONES DE NUMEROS COMPLEJOS


Un nmero complejo tiene la forma a + ib, donde i es b es la parte imaginaria del valor.

1 , a es la parte real del valor y

Cmo se introducen y cmo se opera con nmeros complejos en MATLAB? Pues exactamente de la misma forma que lo haramos con los nmeros reales. Por ejemplo: >> 1+3i ans = 1.0000 + 3.0000i && Sin necesidad de poner * entre el 3 e i.

Si queremos realizar otras operaciones con nmeros complejos:


Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

>> (1-i) + (2+4i) ans = 3.0000 + 3.0000i >> (1-i) - (2+4i) ans = -1.0000 - 5.0000i >> (1-i) * (2+4i) ans = 6.0000 + 2.0000i >> (1-i) / (2+4i) ans = -0.1000 - 0.3000i Tenemos adems las funciones conocidas que se usan con variables complejas: conj(x) real(x) imag(x) abs(x) angle(x) Calcula el conjugado complejo del nmero complejo x. Por tanto, si x es igual a a + ib, conj(x) es igual a a ib. Calcula la porcin real del nmero complejo x. Calcula la porcin imaginaria del nmero complejo x. Calcula el valor absoluto o magnitud del nmero complejo x. Calcula el ngulo usando el valor de atan2 (imag(x), real(x)); as, el valor del ngulo est entre y .

Cuando representamos un nmero complejo con una parte real y una parte imaginaria, como por ejemplo, en 2 + i3, estamos usando notacin rectangular. Un nmero complejo podra describirse tambin con un ngulo y un radio r relativo al origen. Esta forma se denomina notacin polar, y el punto 2 + i3 puede representarse en notacin polar con un ngulo de .98 radianes y un radio de 3.6. Conversin rectangular a polar:

r=

a 2 b 2 , = tan-1 b/a

Conversin polar a rectangular:

a = r cos , b = r sin
La identidad de Euler, relaciona la forma polar de un nmero complejo con su forma rectangular:

M = M.ej = a + bi
Donde, la forma polar se da como una magnitud M y un ngulo , y la forma rectangular viene dada por a + bi . La relacin entre estas formas son: M = a2 b2 = tan-1 (b/a) a = M cos b = M sin

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB FUNCIONES DE ANALISIS DE DATOS


max(x) max(x,y) min(x) min(x,y) sum(x) prod(x) mean(x)

FACULTAD DE INGENIERIA QUIMICA-UNICA

median(x)

sort(x) std(x)

hist(x) hist(x,n)

Determina el valor mximo contenido en x. Si x es una matriz, la funcin devuelve un vector de fila que contiene el elemento mximo de cada columna. Determina una matriz con el mismo tamao que x y y. Cada elemento de la matriz contiene el valor mximo de las posiciones correspondientes en x y y. Determina el valor mnimo contenido en x. Determina una matriz con el mismo tamao que x y y. Determina la suma de los elementos de x. Si x es una matriz, esta funcin devuelve un vector de fila que contiene la suma de cada columna. Determina el producto de los elementos de x. Si x es una matriz, esta funcin devuelve un vector de fila que contiene el producto de cada columna. Calcula el valor medio (o promedio) de los elementos del vector x. Si x es una matriz, esta funcin devuelve un vector de fila que contiene el valor medio de cada columna. Determina la mediana de los elementos del vector x. Si x es una matriz, esta funcin devuelve un vector de fila que contiene la mediana de cada columna. Los valores de x no tienen que estar ordenados. Devuelve un vector con los valores de x en orden ascendente. Si x es una matriz, esta funcin devuelve una matriz con cada columna en orden ascendente. Calcula la desviacin estndar para los valores contenidos en x. Si x es una matriz, se devuelve un vector de fila que contiene la desviacin estndar de cada columna. Para calcular la varianza, simplemente eleve al cuadrado la desviacin estndar. Genera un histograma de los valores de x usando 10 intervalos. Genera un histograma de los valores de x usando n intervalos.

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

MATRICES
OPERACIONES CON MATRICES

Recuerde que la multiplicacin de escalar y la suma y resta de matrices se efectan elemento por elemento. Dos matrices de distinto orden no se pueden sumar ni restar.
TRANSPOSICIN.- La transpuesta de una matriz es una nueva matriz en la que las filas de la matriz original son las columnas de la nueva. En MATLAB denotamos la transpuesta de la matriz A con A. PRODUCTO PUNTO.- El producto punto es un escalar calculado a partir de dos vectores del mismo tamao. Este escalar es la suma de los productos de los valores que estn en posiciones correspondientes de los vectores. En MATLAB podemos calcular el producto punto con la funcin dot. dot(A,B) Calcula el producto punto de A y B. Si A y B son matrices, el producto punto es un vector de fila que contiene los productos punto de las columnas correspondientes de A y B.

MULTIPLICACIN DE MATRICES.- En MATLAB, la multiplicacin de matrices se denota con un asterisco. Puesto que el producto punto exige que los vectores tengan el mismo nmero de elementos, la primera matriz (A) debe tener tantos elementos (N) en cada fila como elementos hay en cada columna de la segunda matriz (B). Si A tiene dos filas y tres columnas, y B tiene tres filas y tres columnas, el producto AB tendr dos filas y tres columnas. En este ejemplo, no podemos calcular BA porque B no tiene el mismo nmero de elementos en cada fila que A tiene en cada columna. POTENCIAS DE MATRICES.- Si queremos elevar al cuadrado la matriz, es decir, si queremos calcular A*A, podemos usar la operacin A^2. Para elevar una matriz a una potencia la matriz debe tener el mismo nmero de filas que de columnas; es decir, la matriz debe ser cuadrada. FUNCIONES MATRICIALES: rank(A) inv(A) det(A) Calcula el rango de la matriz A. Si el rango es igual al nmero de filas de A, la matriz no es singular y existe su inversa. Calcula el inverso de la matriz A, si existe. Si la inversa no existe, se exhibe un mensaje de error. Calcula el determinante de una matriz cuadrada A.

FUNCIONES PARA MANIPULAR MATRICES: rot90(A) fliplr(A) flipud(A) reshape (A,m,n) diag(A) Gira la matriz a 90 en direccin contraria a la manecillas del reloj. Invierte la matriz A de izquierda a derecha. Invierte la matriz A de arriba hacia abajo. Reconfigura la matriz A de modo que tenga m filas y n columnas. Extrae la diagonal de la matriz A como un vector columna.
Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

SOLUCIONES DE SISTEMAS DE ECUACIONES LINEALES


El conjunto de ecuaciones tambin se denomina sistema de ecuaciones. Un sistema de ecuaciones que tiene una solucin nica es no singular, y uno que no tiene solucin nica recibe el nombre de sistema singular. Considere el siguiente sistema de tres ecuaciones con tres incgnitas:
3x1 + 2x2 -x3 = 10 -x1 + 3x2 + 2x3 = 5 x1 -x2 -x3 = -1 Se usa generalmente la ecuacin de matrices AX = B para expresar un sistema de ecuaciones, T donde X es el vector de columna [x1 x2 x3] . Un sistema de ecuaciones no singular (aqu debe suponerse que el sistema es cuadrado M=N y que, por lo tanto, A es cuadrada) si la matriz A que contienen los coeficientes de las ecuaciones es no singular. Recuerde que el rango de una matriz puede servir para determinar si es no singular. Se pueden utilizar dos mtodos para resolver un sistema no singular. DIVISIN DE MATRICES.En MATLAB, podemos resolver un sistema de ecuaciones simultneas usando divisin de matrices. La solucin de la ecuacin de matrices AX = B puede calcularse usando divisin izquierda de matrices, como en A\B Como ilustracin, podemos definir y resolver el sistema de ecuaciones del ejemplo anterior: A = [3 2 -1; -1 3 2; 1 1 -1] B = [10 5 -1] X = A\B El vector X contiene ahora los siguientes valores: -2, 5, -6. Para confirmar que los valores de X s resuelven las ecuaciones, podemos multiplicar A por X usando la expresin A*X. El resultado es un vector de columna que contiene los valores 10, 5 1. INVERSIN DE MATRICES.Tambin podemos resolver un sistema de ecuaciones usando la inversa de la matriz A, siempre que exista dicha inversa. Por ejemplo, supongamos que A y B son las matrices que definimos antes. En MATLAB podemos calcular la solucin usando el siguiente comando: X = inv(A)*B Esta solucin se calcula usando una tcnica diferente de la resolucin que emplea divisin izquierda de matrices, pero ambas soluciones sern idnticas si el sistema no est mal condicionado.

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

Archivos-M: Comandos y Funciones


Los archivos de disco que contienen instrucciones de MATLAB se llaman archivos-M. Esto es as porque siempre tienen una extensin de ".m" como la ltima parte de su nombre de archivo. Un archivo-M consiste de una secuencia de instrucciones normales de MATLAB, que probablemente incluyen referencias a otros archivos-M. Un archivo-M se puede llamar a s mismo recursivamente. Puedes crear archivos-M utilizando un editor de texto procesador de palabras. Hay dos tipos de archivos-M: los de comandos y las funciones. Los archivos de comandos, automatizan secuencias largas de comandos. Los archivos de funciones, permiten aadir a MATLAB funciones adicionales expandiendo as la capacidad de este programa. Ambos, comandos y funciones, son archivos ordinarios de texto ASCII. Para crear un archivo-M se utiliza el Editor/Debugger, que se activa mediante File-- New -- MFile en la ventana de comandos. El Editor/Debugger se abre con un archivo en blanco en el cual crearemos el archivo-M, escribiendo las lneas de comandos respectivas. Para guardar de forma definitiva, se selecciona la opcin Save del men File, la cual nos lleva a la caja de dilogo Guardar, mediante la cual podemos guardar nuestro archivo con el nombre deseado y en el subdirectorio que se indique como ruta en el campo Nombre de archivo.

Archivos de Funciones.Al usar MATLAB para realizar ms y ms clculos, se topar con clculos que deseara estuvieran incluidos como funciones de MATLAB. En tales casos, puede crear una funcin escrita por el usuario a la cual su programa podr referirse del mismo modo como se refiere a una funcin MATLAB. Un archivo-M que contiene la palabra function al principio de la primera lnea, es un archivo de funcin. En una funcin, a diferencia de un comando, se deben de pasar los argumentos. Las variables definidas y manipuladas dentro de la funcin son locales a esta y no operan globalmente en el espacio de trabajo. Los archivos de funciones se utilizan para extender a MATLAB, i.e., crear nuevas funciones para MATLAB utilizando el lenguaje propio de MATLAB. Al escribir funciones de archivo-M tenga siempre en cuenta las siguientes reglas: La funcin debe comenzar con una lnea que contenga la palabra function, seguida del argumento de salida, un signo igual y el nombre de la funcin. Este nombre va seguido por los argumentos de entrada de la funcin encerrados en parntesis. Es recomendable que las primeras lneas sean comentarios. La nica informacin que la funcin devuelve est contenida en los argumentos de salida que, desde luego, son matrices. Siempre compruebe que la funcin incluya una instruccin que asigne un valor al argumento de salida. Ejemplo: Se comienza creando un fichero-M que contenga las siguientes instrucciones: function y = mifunc(x) % MIFUNC devuelve una matriz con dos columnas y(:,1) = 200*sin(x)./x; y(:,2) =x.^2;

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

Esta funcin debe guardarse en un archivo llamado mifunc.m. As, los programas MATLAB podrn referirse a esta funcin del mismo modo como hacen referencia a funciones como sqrt y abs. Un ejemplo del uso de esta funcin sera ejecutar el comando: fplot (mifunc(x),[-20 20], g) Veamos algunos detalles de mifunc.m: La primera lnea declara el nombre de la funcin, los argumentos de entrada, y los argumentos de salida. Sin esta lnea sera un archivo de comando. (Las lneas que comienzan con "%" son interpretadas como comentarios por MATLAB). La existencia de este archivo en el disco duro define una nueva funcin en MATLAB llamada mifunc. % indica que el resto de la lnea es un comentario. Las primeras lneas documentan el archivo-M y aparecen en la pantalla cuando escribimos help mifunc.

Recuerde que las funciones definidas por el usuario deben comenzar con una lnea de definicin de funcin que contenga: La palabra function, Una variable que defina la salida de funcin, Un nombre de funcin, y Una variable que se use para el argumento de entrada. Por ejemplo: function result = calculation(a) En este caso, el nombre de funcin es calculation, el argumento de entrada se llamar a en cualquier clculo que realice el programa function y la salida se llamar result. El nombre de funcin y los nombres de las variables de entrada y salida son arbitrarios y los selecciona el programador. Aunque se puede usar cualquier nombre MATLAB vlido, es buena prctica de programacin usar nombres significativos para todas las variables y para nombres de funcin. He aqu un ejemplo de una funcin MATLAB muy simple que calcula el valor de un polinomio particular: function output = poly(x) % Esta funcin calcula el valor de un polinomio % de tercer grado output = 3*x.^3 + 5*x.^2 - 2*x +1; El nombre de la funcin es poly, el argumento de entrada es x y la variable de salida se llama output. Es recomendable que las primeras lneas sean comentarios. Antes de poder usar esta funcin, se debe guardar en el directorio actual. El nombre de archivo debe ser el mismo que el nombre de funcin con la finalidad de que MATLAB lo encuentre. Una vez guardado el archivo-m, la funcin est disponible para usar desde la ventana de comando, desde un archivo.m, script o desde otra funcin. Considere la funcin poly recin creada. Si en la ventana de comando se escribe >> poly(4) entonces MATLAB responde con ans = 265

Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

Si se define un vector, se obtiene un vector de respuestas. Por ende, >> x=1:5; >> poly(x) Nos da como resultado ans = 7 41 121 265 491

Archivos de Comandos
Cuando un archivo de comandos es invocado, MATLAB simplemente ejecuta los comandos encontrados en dicho archivo. Las instrucciones en un archivo de comando operan globalmente en los datos en el espacio de trabajo. Los comandos son utilizados para hacer anlisis, resolver problemas, disear secuencias largas de comandos que se conviertan en interactivas. Supongamos que queremos resolver el siguiente problema: Ejemplo 1: Evale con 15 dgitos la funcin sin(x)/x para valores de x muy prximos a cero. En base a estos resultados, infiera una respuesta para el clculo del limx 0 sin(x)/x. Un posible M-file para resolver este problema podra ser: % Solucion del Ejemplo 1 format compact % este comando elimina lineas blancas % innecesarias en la salida format long % formato de 15 digitos % Definimos los valores de la variable independiente x=[0.1, 0.01, 0.001, 0.0001]; % Calculamos los valores deseados y= sin(x)./x % Notese que el signo % sirve para agregar comentarios % Los valores obtenidos ilustran el hecho que el limite de la % funcion sin(x)/x cuando x se aproxima a cero es 1. Una vez guardado el archivo (en el ejemplo, ejemplo1.m) en el directorio actual, desde la lnea de comandos de Matlab basta escribir ejemplo1 y presionar enter para que se ejecute el programa.

Recuerde que cuando se ejecuta un archivo de comandos o script, las variables utilizadas en los clculos dentro del fichero deben tener valores asignados previamente. La asignacin de valores a estas variables se puede realizar de tres formas, dependiendo de donde y como se haya definido la variable. 1. Variable definida y asignada en el fichero.- En este caso, la asignacin del valor a la variable forma parte del fichero. Ejemplo: - Cree el archivo:
Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

% Este archivo.m calcula el promedio obtenido por un alumno % La asignacin de las variables que contienen los puntos es parte del archivo.m IP = 12; IIP = 10; Pp = 11; EP = 13; promedio = (IP + IIP + Pp + EP)/4 - Guarde el archivo. - Ejecute el archivo. Si el usuario quiere ejecutar el archivo con un valor diferente para dicha variable, el archivo debe ser editado para asignar un nuevo valor a la variable. Una vez que el archivo se ha guardado, se puede ejecutar de nuevo. 2.- Variable definida y asignada en la ventana de comandos.- En este caso, la asignacin de un valor a la variable se realiza en la ventana de comandos (recuerde que la variable es reconocida sin problemas dentro del fichero script). Ejemplo: - Cree el archivo: % Este fichero script calcula el promedio de un alumno % La asignacion de las variables que contienen % los puntos ( IP, IIP, Pp, EP) se lleva a cabo % en la ventana de comandos promedio = (IP + IIP+ Pp + EP)/4 - Guarde el archivo. - Ejecute el archivo. Si el usuario quiere ejecutar el archivo con un valor diferente para las variables, se debe asignar el nuevo valor en la ventana de comandos y despus ejecutar el archivo de nuevo. 3.- Variable definida y asignada en el fichero script, pero adems se introduce un valor concreto para la variable cuando se ejecuta el fichero en la ventana de comandos.- En este caso, la variable se define en el fichero script y cuando se ejecuta dicho fichero al usuario se le pide un valor concreto, a travs de la ventana de comandos, para asignrselo a la variable del fichero script. Para hacer esto se utiliza el comando input. Nombre_variable = input (Mensaje que se muestra en la ventana de comandos) Cuando se ejecuta el comando input como parte del fichero script, la cadena que va entre parntesis se visualiza en la ventana de comandos. La cadena simboliza un mensaje a partir del cual se le pedir al usuario un valor para la variable Nombre_variable. Introducido el valor y pulsada la tecla Enter, la variable ser asignada con el valor que el usuario haya tecleado. Ejemplo: - Cree el archivo: % Este fichero script calcula el promedio de un alumno % La asignacin de las variables que contienen % los puntos ( IP, IIP, Pp, EP) se lleva a cabo % mediante el comando input IP = input (Introduzca la puntuacin del I Parcial:);
Docente: Ing. Felipe Estuardo Yarasca Arcos

MATLAB

FACULTAD DE INGENIERIA QUIMICA-UNICA

IIP = input (Introduzca la puntuacin del II Parcial:); Pp = input (Introduzca la puntuacin del Promedio de practicas:); EP = input (Introduzca la puntuacin de la Evaluacion Permanente:); promedio = (IP + IIP + Pp + EP)/4 - Guarde el archivo. - Ejecute el archivo.

A partir de aqu, se abren las posibilidades de la programacin con un lenguaje sencillo en interactivo.

Docente: Ing. Felipe Estuardo Yarasca Arcos

Vous aimerez peut-être aussi