Tutorial de Matlab [101 paginas - en español]

download Tutorial de Matlab [101 paginas - en español]

of 101

Transcript of Tutorial de Matlab [101 paginas - en español]

TUTORIAL DE MATLAB

TUTORIAL DE MATLAB1. QU ES MATLAB? 1.1 Uso de Matrices 1.2 Origen de MatLab 1.3 Plataformas 1.4 Productos

14 5 5 5 5

2. LIBRERA DE APLIC ACIONES DE MATLAB2 . 1 S I G N A L P R O C E S S I N G TOOLBOX 2.2 THE MATLAB C MATH L I B R A R Y 2.2.1 Desarrollo de aplicaciones utilizando la MATLAB C Math Library 2.2.2 Utilizacin de MATLAB y de su compilador 2.2.3 Velocidad y Precisin 2.2.4 Lista parcial de funciones Funciones matemticas Funcionales especiales y elementales Algebra lineal numrica Polinomios e interpolacin Mtodos numricos no lineales Estadstica y anlisis de Fourier Operaciones algebricas y lgicas 2.2.5 Utilidades 2.2.6 Requerimientos 2.3 THE 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 MATLAB COMPILER TOOLBOX Generacin Automtica de ficheros MEX. Rendimiento del compilador Opciones de ajuste del rendimiento Requerimientos del sistema Limitaciones del cdigo compilado

77 7 8 8 9 9 9 9 9 9 10 10 10 10 10 11 11 12 12 12 13 13 14 15 16 17 18 20

2.4 SYMBOLIC MATH TOOLBOX 2 . 5 O P T I M I Z A T I O N T O O LBOX 2 . 6 I M A G E P R O C E S S I N G TOOLBOX 2.7 Neural Network Toolbox 2.8 NON LINEA R C O N T R O L D E S I G N T O O L B O X 2.9 NAG FOUNDATION TOOLBOX 3. INICIANDO MATLAB

1

4. USO DE COMANDOS 4 . 2 I n s t r u c c i o n e s d e M A T L A B y V a r i a b les 4.3 Obteniendo Informacin del Espacio de Trabajo 4.4 Variables Permanentes 4.6 Saliendo y Guardando el Espacio de Trabajo 4. 7 M a n i p u l a c i n d e V e c t o r e s y M a t r i c e s 4.8 Operaciones de Matrices 4.9 Operaciones de Arreglos 4.10 Ejemplos: Operaciones Aritmticas 5 . P R O G R A M A N D O C O N MATLAB 5.1 Generalidades 5.1.1 A r c h i v o s -M : C o m a n d o s y F u n c i o n e s 5.1.2 Otras funciones 5.1.3 Declaracin function 5.2 Operadores relacionales 5.3 Operadores lgicos 5.4 Caracteres especiales 5.5 Control de flujo 5.5.1 Declaracin FOR simple 5.5.2 Declaracin FOR anidada. 5.5.3 Declaracin WHILE 5.5.4 D e c l a r a c i o n e s I F , E L S E , E L S E I F y B R E A K 5.6.1 C r e a c i n d e u n a m a t r i z 5.6.2 C a m b i o d e l o r d e n d e u n a m a t r i z : reshape 5.6.3 M o d i f i c a c i n i n d i v i d u a l d e e l e m e n t o s 5.6.4 M o d i f i c a c i o n e s a d i c i o n a le s d e u n a m a t r i z 5.7.1 Declaracin f o p e n Ejemplo 5.7.2 Declaracin f c l o s e 5.7.3 Declaracin f r e a d 5.7.4 Declaracin fwrite 5.7.5 Declaracin f p r i n t f 5.8 Variables globales 5.9 Vectorizacin de algoritmos y estructuras (for, while) 5.10 Grficas en Dos Dimensiones

20 22 23 23 23 24 25 28 29 33 33 33 37 41 41 42 43 44 44 45 46 47 50 50 50 51 57 57 57 57 58 58 58 59 60

COMANDO PLOTSmbolo Color Smbolo Estilo de lnea 5.10.6 Comandos grficos 5.11 Grficos en 3 dimensiones 5.12 Archivos de disco 5.12.1 M a n i p u l a c i n d e A r c h i v o s d e D i s c o 5.12.2 Ejecutando Programas Externos 5.12.3 I m p o r t a n d o y E x p o r t a n d o D a t o s 5.13 INDICE ALFABETICO 6. S I M U L I N K 6.1 Acelerador de Simulink 6 . 2 Ge n e r a d o r d e c d i g o - C en Simulink 7. COMANDOS DE MATLAB 7.1 General purpose commands: C o n t r o l S y s t e m T o o l b o x C o m m a n d s:

6060 61 63 66 73 73 73 73 74 75 77 77 78 78 81 2

8. APLICAN D O M A T L A B A L C O N T R O L DE PROCESOS 8.1 Respuesta en el dominio del tiempo 8.2 Respuesta en el dominio de la frecuencia 8.3 Lugar de las races 8.4 Controladores PID 9. TRUCOS EN MATLAB Paper semilogartmico gratis: papelbod.m

86 86 91 95 97 99 99

3

1. QU ES MATLAB?MatLab e s u n p r o g r a m a i n t e r a c t i v o p a r a c o m p u t a c i n n u m r i c a y v i s u a l i z a c i n d e datos. Es ampliamente usado por Ingenieros de Control en el anlisis y diseo, posee adems una extraordinaria versatilidad y capacidad para resolver problemas en matemtica aplicada, fsica, qumica, ingenier a, finanzas y muchas otras aplicaciones. Est basado en un sofisticado software de matrices para el anlisis de sistemas de ecuaciones. Permite resolver complicados problemas numricos sin necesidad de escribir un programa. MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos. MATLAB integra anlisis numrico, clculo matricial, proceso de seal y visualizacin grfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribiran tradicionalmente, sin necesidad de hacer uso de la programacin tradicional. El nombre de MATLAB proviene de la contraccin de los trminos MATrix LABoratory y fue inicialmente concebido para proporcionar fcil acceso a las libreras LINPACK y EISPACK, las cuales representan hoy en dia dos de las libreras ms importantes en computacin y clculo matricial. M AT L A B e s u n s i s t e m a d e t r a b a j o i n t e r a c t i v o c u y o e l e m e n t o b s i c o d e t r a b a j o son las matrices. El programa permite realizar de un modo rpido la resolucin numrica de problemas en un tiempo mucho menor que si se quisiesen resolver estos mismos problemas con lenguajes de programacin tradicionales como pueden ser los lenguajes Fortran, Basic o C. MATLAB goza en la actualidad de un alto nivel de implantacin en escuelas y centros universitarios, as como en departamentos de investigacin y desarrollo de muchas c o m p a a s i n d u s t r i a l e s n a c i o n a l e s e i n t e r n a c i o n a l e s . E n e n t o r n o s universitarios, por ejemplo, MATLAB se ha convertido en una herramienta bsica, tanto para los profesionales e investigadores de centros docentes, como una importante herramienta para la imparticin de cursos universitarios, tales como sistemas e ingenieria de control, lgebra lineal, proceso digital de imagen, seal, etc. En el mundo industrial, MATLAB est siendo utilizado como herramienta de investigacin para la resolucin de complejos prob l e m a s planteados en la realizacin y aplicacin de modelos matemticos en ingeniera. Los usos ms caractersticos de la herramienta los encontramos en reas de computacin y clculo numrico tradicional, prototipaje algortmico, teora de c o n t r o l a u t o m tico, estadstica, anlisis de series temporales para el proceso digital de seal.

4

MATLAB dispone tambin en la actualidad de un amplio abanico de programas de apoyo especializados, denominados Toolboxes, que extienden significativamente el nmero de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prcticamente casi todas las reas principales en el mundo de la ingeniera y la simulacin, destacando entre ellos el 'toolbox' de proceso de imgenes, seal, control robusto, estadstica, anlisis financiero, matemticas simblicas, redes neurales, lgica difusa, identificacin de sistemas, simulacin de sistemas dinmicos, etc. Adems tambin se dispone del programa Simulink que es un entorno grfico interactivo con el que se puede analizar, modelizar y simular la dinmica de sistemas no lineales.

1.1 Uso de MatricesMatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una forma altamente flexible y matemticamente eficiente. Una matriz de pixeles puede ser una imagen o una pelcula. Una matriz de fluctuaciones de una seal puede ser un sonido o una voz humana. Y tal vez ms significativamente, una matriz puede describir una relacin lineal entre los componentes de un modelo matemtico. En este ltimo sentido, una matriz puede describir el comportamiento de un sistema extremadamente complejo. Por ejemplo una matriz puede representar el vuelo de una avin a 40.000 pies de altura, o un filtro digital de procesamiento de seales.

1.2 Origen de MatLabMatLab fue originalmente desarrollado en lenguaje FORTRAN para ser usado en computadoras mainframe. Fue el resultado de los proyectos Linpack y Eispack desarrollados en el Argonne National Laboratory. Su nombre proviene de MATrix LABoratory. Al pasar de los aos fue complementado y reimplementado en lenguaje C. Actualmente la licencia de MatLab es propiedad de MathWorks Inc .

1.3 PlataformasMatLab est disponible para una amplio nmero de plataformas: estaciones de trabajo SUN, Apollo, VAXstation y HP, VAX, MicroVAX, Gould, Apple Macintosh y PC AT compatibles 80386 o superiores. Opera bajo sistemas operativos UNIX, Macintosh y Windows.

1.4 ProductosLa empresa MathWorks ofrece MatLab como su principal producto para c o m p u t a c i n n u m r i c a , a n l i s i s y v i su a l i z a c i n d e d a t o s . T a m b i n o f r e c e S i m u l i n k

5

como un anexo a MatLab y que interactua con l en lenguaje de MatLab y lenguaje de bajo nivel C. Simulink es usado para simulacin modelado no lineal avanzado. Se ofrecen adems numerosas herramientas especiales en "Toolboxes" para resolver problemas de aplicaciones especficas, por ejemplo control, procesamiento de seales, redes neurales, etc. Estas herramientas son colecciones de rutinas escritas en MatLab.

6

2. Librera de Aplicaciones de MATLAB2.1 SIGNAL P ROCESSING TOOLBOXMATLAB tiene una gran coleccin de funciones para el procesamiento de seal en el Signal Processing Toolbox. Este incluye funciones para: Anlisis de filtros digitales incluyendo respuesta en frecuencia, retardo de grupo, retardo de fase. Implementacin de filtros, tanto directo como usando tcnicas en el dominio de la frecuencia basadas en la FFT. Diseo de filtros IIR, incluyendo Chebyshebv tipo II y elptico. Butterworth, Chebyschev tipo I,

Diseo de filtros FIR mediante el algortmo p t i m o d e P a r k s -McClellan. Procesamiento de la transformada rpida de Fourier FFT, incluyendo la transformacin para potencias de dos y su inversa, y transformada para no potencias de dos.

2.2 THE MATLAB C MATH LIBRARYLa MATLAB C Math Library proporcio n a a l u s u a r i o l a c a p a c i d a d c o m p u t a c i o n a l d e MATLAB en una libreria en formato objeto enlazable. El objetivo principal de la C Math Library es soportar el desarrollo de aplicaciones 'stand alone' utilizando MATLAB y su compilador. Puede ser utilizada independientemente de MATLAB por programadores avezados en lenguaje C que necesiten prestaciones computacionales robustas y de alto rendimiento. Junto con el compilador de MATLAB, la C Math Library permitir a los programadores de aplicaciones utilizar MATLAB para la creacin de aplicaciones 'stand alone'. Para los usuarios clsicos de MATLAB, se elimina as cualquier necesidad de volver a reescribir algoritmos en lenguaje C para ser utilizada por programas externos. Para aquellos usuarios que sean nuevos en la tecnologa MATLAB, esta tecnologa ofrece una nueva va para la reduccin del tiempo de desarrollo y puesta a punto de aplicaciones. La MATLAB C Math Library proporciona una amplia gama de funciones clsicas del programa MATLAB, proporcionadas como libreri a s o b j e t o , i n c l u y e n d o bsicamente las siguientes categoras de funciones presentes en MATLAB y ficheros M compilados:

Algebra lineal. Funciones matemticas elementales y especializadas. Operadores lgicos y aritmticos. 7

Matrices elementales y manipulacin de vectores. Matrices especiales. Estadstica bsica y anlisis de datos. Polinomios e interpolacin. Gestin de cadenas de caracteres. Entradas y Salidas. Gestin de memoria y errores.

(Nota: Las funciones del tipo Handle Graphics no estn incluidas en la C Math Library).

2.2.1 Desarrollo de aplicaciones utilizando la MATLAB C Math LibraryLa construccin y desarrollo de aplicaciones utilizando esta librera es un proceso de amplias perspectivas una vez se tiene un dominio adecuado de su operativa. El producto est dividido en dos categoras (como libreras objeto): la librera (built-in library) contiene versiones de las funciones de MATLAB en lenguaje C del tipo numrico, lgico y utilidades. Por otra parte la librera de toolboxes (toolbox library) contiene versiones compiladas de la mayora de ficheros M de MATLAB para clculo numrico, anlisis de datos y funciones de acceso a ficheros y matrices. En equipos UNIX estas librerias pueden ser igualmente obtenidas como libreras de tipo estti c o ( s t a t i c l i b r a r i e s ) o b i e n c o m o l i b r e r a s c o m p a r t i d a s ( s h a r e d libraries). Respecto al mundo PC, estas libreras pueden obtenerse como DLL's en el entorno Microsoft Windows o como librerias compartidas en equipos Apple MacIntosh.

2.2.2 Utilizacin de MATLAB y de su compiladorPara construir una aplicacin del tipo 'stand alone' que incorpore cdigo originalmente desarrollado como ficheros M de MATLAB , debern seguirse los pasos siguientes: 1. Utilizar el compilador de MATLAB para convertir ficheros M en C mediante la utilizacin de la instruccin mcc -e (la cual es externa a MATLAB).

2. Compilar el cdigo C fuente en cdigo objeto utilizando un compilador ANSI C. 3. Enlazar el cdigo resultante con la MATLAB C Math Library y con cualquier tipo de ficheros y prog ramas especficos que hayan sido previamente definidos por el usuario.

8

2.2.3 Velocidad y PrecisinLos algoritmos utilizados en la MATLAB C Math Library han sido desarrollados por un grupo de renombrados expertos en programacin algortmica de funciones de tipo matemtico (algebra lineal y clculo numrico). Las funciones de lgebra lineal han sido obtenidas de las librerias mundialmente reconocidas LINPACK y EISPACK. La MATLAB C Math Library contiene ms de 300 funciones numricas, lgicas y de utilidad. Todas estas funciones le permitirn operar en datos de tipo escalar, vectorial o matricial con la misma facilidad sintctica.

2.2.4 Lista parcial de funcionesFunciones matemticas

Funcionales especiales y elementalesFunciones gamma, beta y elp ticas. Transformacin de sistemas de coordenadas. Matriz identidad y otras matrices elementales. Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc. Partes reales, imaginarias y complejas conjugadas. Funciones trigonom tricas y de potencias.

Algebra lineal numricaValores propios y descomposicin de matrices. Funciones generales de evaluacin de matrices. Determinantes, normas, rangos, etc. Matrices inversas y factorizacin de matrices. Ma triz exponencial, logartmica y races cuadradas.

Polinomios e interpolacinInterpolacin 1 - D y 2 - D. Construccin polinomial. Interpolacin por splines cbicos. Diferenciacin de polinomios. Evaluacin de polinomios. Multiplicacin y divisin de polinomios. Residuos de polinomios y residuos.

9

Mtodos numricos no linealesBsqueda de ceros en funciones de una nica variable. Minimizacin de funciones de una o ms variables. Resolucin numrica de integrales. Solucin numrica de ecuaciones diferenciales ordinarias.

Estadstica y anlisis de FourierConvolucin 1 - D y 2 - D. Filtros digitales 1- D y 2 -D . Transformadas de Fourier 1 - D y 2 - D y s u i n v e r s a . Coeficientes de correlacin y m a t r i c e s d e c o v a r i a n z a . Deconvolucin. Magnitudes y ngulos de fase. Funciones max, min, sum, mean y otras funciones de estadstica bsica.

Operaciones algebricas y lgicasSuma, resta, multiplicacin, divisin y potencias de matric e s . Matrix traspuesta. Operadores lgicos AND, OR, NOT y XOR.

2.2.5 UtilidadesGestin y mantenimiento de errores. Conversin de tipos de datos Fortran. Funciones de fecha y hora. Clasificacin de matrices. Conversin de n m e r o s a c a d e n a s y v i c e v e r s a .

2.2.6 RequerimientosLa libreria MATLAB C Math Library cumple con la normativa estndar ANSI para compiladores C. Finalmente, la librera trabajar con aquellos enlazadores suministrados con la mayora de compiladores ANSI C. que vienen

10

2.3 THE MATLAB COMPILER TOOLBOXE l n u e v o c o m p i l a d o r d e M A T L A B - The MATLAB Compiler - p e r m i t e c r e a r c d i g o C optimizado procedente de ficheros M - M files - de MATLAB. Este compilador puede ser utilizado de dos modos: 1. Como un generador MEX automtico. Pueden convertirse ficheros M en funciones C ejecutables que se ejecutaran desde dentro de MATLAB. Como un generador de cdigo C fuente.

2. Pueden construirse aplicaciones que se ejecutaran independientemente de MATLAB. Estas aplicaciones externa s requieren de la MATLAB C Math Library, que est disponible separadamente.

Mediante la conversin automtica de ficheros M en cdigo C fuente, el compilador MATLAB elimina consumo de tiempo y la conversin manual de cdigo. T o d o e l p r o c e s o d e c o n v e r s i n , compilacin y enlazado se inicia a travs de una simple instruccin de MATLAB.

2.3.1 Generacin Automtica de ficheros MEX.El compilador de MATLAB automatiza la creacin de ficheros MEX de C (MATLAB Ejecutables). L o s f i c h e r o s M E X c o n t i e n e n c d i g o o b j e to q u e e s d i n m i c a m e n t e e n l a z a d o c o m o 'runtime' en el entorno MATLAB por el intrprete del programa. El proceso en cuestin se realiza en tres pasos: 1. El compilador de MATLAB traduce las funciones MATLAB en sus funciones equivalente en lenguaje C.

2. La instruccin MATLAB cmex llama al compilador y al enlazador del sistema para construir un fichero MEX objeto. 3. El intrprete de MATLAB enlaza automticamente la funcin de MATLAB como 'runtime'. Mientras se efecta una conversin de los ficheros M en ficheros MEX, el compilador realiza llamadas a las rutinas de la libreria C para muchas de las instrucciones contenidas en el propio ncleo de MATLAB. Existen algunas funciones, incluyendo las rutinas 'Handle Graphics', para las cuales se generan de nuevo llamadas 'c a l l b a c k s ' a M A T L A B . Pueden convertirse convenientemente ficheros M en cdigo fuente C para incorporarlos posteriormente en los ficheros externos desarrollados en lenguaje C, si ese es el caso. Esta opcin es ideal para usuarios que quieren sacar la m x i ma ventaja de MATLAB desde cualquier otra aplicacin o producir cdigo C eficiente a partir de los algoritmos desarrollados con MATLAB. Los desarrollos 11

del tipo 'stand-alone' requieren para ello de la MATLAB C Math Library. Obsrvese que las funciones grficas de MATLAB no estn incluidas. Para construir aplicaciones 'stand-alone' se debera seguir los siguientes pasos: 1. Utilizar el compilador de MATLAB para convertir ficheros M en C con la instruccin externa mcc - e.

2. Compilar el cdigo C fuente en cdigo ob j e t o u t i l i z a n d o u n c o m p i l a d o r C . 3. E n l a z a r e l c d i g o r e s u l t a n t e c o n l a s l i b r e r a s m a t e m t i c a s C d e M A T L A B y los ficheros especficos que dispongamos.

2.3.2 Rendimiento del compiladorMediante la compilacin de los ficheros M se puede obtener un rendimien to significativo. La velocidad de mejora de este rendimiento, depende fuertemente de cada aplicacin. En algunos casos el rendimiento puede mejorar hasta en 200 veces la ejecucin si la comparamos con el modo de trabajo interpretado del programa. Las opera ciones matriciales y vectoriales ejecutadas desde MATLAB ya estn fuertemente optimizadas en su diseo. Sin embargo, mediante la utilizacin del compilador se obtendrn significativas mejoras.

2.3.3 Opciones de ajuste del rendimientoE l c o m p i l a d o r d e M A T L AB ofrece varias opciones que permiten generar el programa final de la forma ms eficiente. Por ejemplo, Ud. puede directamente: Tratar todas las variables en ficheros como datos enteros y/o reales. Utilizar una variable concreta como variable escalar, vectorial, entera, real o una combinacin de estas. Desactivar el control de parmetros de entrada y el redimensionamiento dinmico de vectores.

2.3.4 Requerimientos del sistemaPara utilizar el compilador de MATLAB para crear ficheros MEX se necesita la versin de MATLAB 4.2c y tener instalado uno de los siguientes compiladores de lenguaje C: PC/Microsoft Windows Metaware High C/C++ V.3.0 o superior. Watcom C V.10.0 o superior Power MacIntosh MetroWer ks CodeWarrior C V.7

12

MPW MrC V.1.0b2 o PPCC version 1.0.5 680x0 MacIntosh MPW C Versin 3.4 UNIX y VMS

Cualquier compilador ANSI C (Nota: El compilador de SunOS 4.1.X no es un compilador ANSI C). Cualquiera que sea el equipo informtico que vaya a utilizarse para desarrollar aplicaciones 'stand alone' se requiere, adems del compilador de MATLAB, que se tengan las MATLAB C Math Library y un compilador ANSI C.

2.3.5 Limitaciones del cdigo compiladoCiertas instrucciones, como load y eval, no estn soportadas por el compilador de MATLAB . Este no puede generar cdigo de los diagramas de bloques de SIMULINK. Los toolboxes de MATLAB pueden incluir ficheros MEX y otros componentes que no son compilables.

2.4 SYMBOLIC MATH TOOLBOXEl Toolbox de Matemtica Simblica, aade a MATLAB la capacidad de realizar clculos simblicos basados en MAPLE V soportando adems (The Extended Symbolic Math Toolbox) las libreras especializadas, y los programas realizados para este ltimo. Entre o t r o s , l o s p r i n c i p a l e s t i p o s d e o p e r a c i o n e s s o p o r t a d o s son los siguientes: Algebra simblica: Derivacin, integracin y simplificacin de expresiones matemticas. Algebra lineal exacta: Inversas, cannicas de matrices simblicas. determinantes, autovalores y formas

Aritmtica de precisin variable: Evaluacin de expresiones matemticas con diversos grados de precisin. Resolucin de ecuaciones: Resolucin numrica y simblica de ecuaciones algebraicas y diferenciales. Funciones matemticas especiales: E v a l u a c i n d e l a m a y o r a d e l a s f u n c i o n e s utilizadas en matemticas aplicadas.

Existen dos versiones del mismo Toolbox. The Basic Symbolic Math Toolbox es una coleccin de ms de 50 funciones MATLAB las cuales permiten acceder al

13

kernel de MAPLE utilizand o l a S i n t a x i s y el estilo del lenguaje MATLAB. The Extended Symbolic Math Toolbox aumenta esta funcionalidad incluyendo todas las caractersticas de programacin de MAPLE, y el acceso a los paquetes de funciones de ms de veinte campos de las matemticas e s p e c i a l e s a p l i c a d a s . Es posible utilizar este Toolbox sin conocimiento previos de MAPLE, ya que los ficheros contenidos en l son totalmente autnomos. Sin embargo, si lo que se desea es obtener toda la potencia de clculo del entorno, ser necesario un a mplio conocimiento del manejo y la programacin de MAPLE

2.5 OPTIMIZATION TOOLBOXEl toolbox de optimizacin consta de un conjunto de funciones que resuelven problemas de extremos, con o sin condiciones, de funciones reales las cuales son generalmente multivariables y no lineales. Asimismo, posee funciones para la resolucin de algunos tipos de problemas matriciales en extremos. Resulta conveniente para una comprensin y mejor manejo de la toolbox poseer conocimientos bsicos previos de anlisis de funciones reales, matrices y teora de extremos. Algunas de las reas bsicas que cubre este toolbox para MATLAB son las siguientes: Clculo de un extremo local (mximo o mnimo) de una funcin real f(x), en general multivariable y no lineal, sin imponer ninguna restriccin o condicin a la solucin. Como caso particular, se incluye una rutina especial para problemas de mnimos cuadrados no lineales. Clculo de un extremo local (mximo o mnimo) de una funcin real f(x), en general multivariable y no lineal, condicionado a que la solucin satisfaga ciertas condiciones de desigualdad (g(x)