Download Nombre: Yocelin Rosario Ticona Luna MATLAB Y OTRAS
Document related concepts
no text concepts found
Transcript
Nombre: Yocelin Rosario Ticona Luna MATLAB Y OTRAS PLATAFORMAS JAVA Y MATLAB EASY JAVA SIMULATIONS (EJS) Easy Java Simulations (Ejs) es una herramienta de software gratuita diseñada para la creación de simulaciones interactivas en Java. Las simulaciones en Ejs son estructuradas en dos partes, el Modelo y la Vista. En el modelo se describe el comportamiento del sistema mediante variables y código Java. Mientras que la vista provee el aspecto gráfico o visual de la simulación. La interfaz de usuario de Ejs se presenta en la figura 1. Figura 1. Interfaz de usuario de Ejs para la creación de la vista de una simulación. EJS Y MATLAB Ejs posee la capacidad de conexión con aplicaciones externas, como Scilab, Dymola, Sysquake y Matlab/Simulink. Esta última aplicación es bastante interesante debido a la popularidad que presenta esta herramienta entre la comunidad de automática. Mediante esta conexión se pueden desarrollar laboratorios virtuales con un alto grado de interactividad utilizando modelos Simulink y Matlab. Para la comunicación entre Ejs y Matlab se utiliza la librería JMatlink. En general el uso de la conexión entre Ejs y modelos Simulink está orientado a la creación de laboratorios virtuales de sistemas dinámicos. En el caso específico de la conexión entre Ejs y Matlab el papel de Matlab es proporcionar capacidades de cómputo, esto es como motor de cálculo. El procedimiento para la conexión entre Ejs y Matlab es sencillo y se resume en los siguientes cuatro pasos. 1. Designar a Matlab como aplicación externa. 2. Crear y conectar variables Ejs con Matlab. 3. Controlar la ejecución de las rutinas en Matlab. 4. Definir la vista y la interactividad con el usuario. Para explicar con mayor detalle la forma de conectar Ejs y Matlab se utilizará un sencillo ejemplo. En este caso el objetivo es proporcionar un laboratorio virtual a modo de osciloscopio, en donde el usuario ingrese una función que será evaluada en Matlab y cuyo resultado será presentado en un eje coordenado, tal como muestra la figura 2 Figura 2. Interfaz de usuario de un sencillo laboratorio virtual que utiliza una conexión local de Matlab. A continuación se presentarán los pasos previamente comentados para conectar Ejs y Matlab necesarios para el de laboratorio virtual de ejemplo. Pasos 1 y 2: En la figura 3 se observa, en la sección Modelo (subsección Variables) como se declara el uso de Matlab en Ejs. Nótese que en el cuadro de texto “External File” se ha indicado en este caso el uso de Matlab como aplicación externa. Mientras que las variables “time” y “value” de Ejs están conectadas a las variables “t” y “x” de Matlab. Evidentemente, tales variables serán las que se utilizarán para realizar la gráfica de la figura 2. Paso 3: Para el control de la ejecución de las rutinas en Matlab, Ejs proporciona diferentes métodos, entre ellos, el método _external.step(); el cual permite la ejecución de una rutina o comando previamente especificado. Respecto al comando que se ejecuta, este ha sido ubicado en la subsección Inicialización mediante la siguiente instrucción: _external.setCommand(commandM);. Figura 3. Definición de la aplicación externa y de las variables utilizadas en Ejs. Obsérvese que la instrucción anterior está indicando que el comando a ejecutar viene dado por la variable de tipo String “commandM” que previamente ha sido definida en la tabla de variables de la figura 4. En este ejemplo la variable tiene por valor inicial la siguiente cadena: “t=t+0.1, x=sin (t)” Paso 4: El comando inicial puede ser modificado por el usuario utilizando el cuadro de texto Función que se observa en la figura 2. Para agregar esta interacción, se asocia al cuadro de texto correspondiente la variable “commandM” y la acción _external.setCommand(commandM); que se ejecutará ante un cambio del valor por parte del usuario. De esta forma, una vez que el usuario modifique el valor de la función, el laboratorio virtual presentará la gráfica correspondiente. Esta interacción se observa en las propiedades del cuadro de texto que se muestran en la figura 4. Figura 5. Propiedades del cuadro de texto utilizado para ingresar la función a evaluar en Matlab. Se debe mencionar además que existen un grupo de métodos en Ejs que permiten interactuar a más “bajo nivel” con Matlab, entre otros están los siguientes. • _external.eval(String) : Método que evalúa un String en el espacio de trabajo de Matlab. • _external.getDouble(“VariableMatlab”): Método que devuelve el valor de una variable existente en Matlab. • _external.setValue(“VariableMatlab”,Value): Método que modifica el valor de una variable existente en Matlab. Bibliografía http://www.ceautomatica.es/old/actividades/jornadas/XXIX/pdf/283.pdf Nombre: Yocelin Rosario Ticona Luna FUNCIONES DE MATLAB 1) MATLAB trae implementada la función spline para la interpolación por splines cúbicos. El comando: yy = spline(x,y,xx) efectúa la interpolación de la nube de puntos dada por los vectores x, y por medio de splines cúbicos. En la salida (variable yy) obtenemos los valores del spline evaluado en los puntos dados en el vector xx. Si y es una matriz, la interpolación se realiza para cada fila de y. Por ejemplo, el listado x = 0:10; y = sin(x); xx = 0:.25:10; yy = spline(x,y,xx); plot(x,y,'o',xx,yy) dibuja una aproximación a la gráfica de la función sen (t) a partir de la interpolación con splines cúbicos. Nota: Un resultado análogo se puede obtener con la función interp1: yy=interp1(x,y,xx,'spline'). 2) Para hallar al polinomio de grado 'n', que pasa a traves de n + 1 puntos, podemos emplear 'polyfit'. Por ejemplo, para hallar al polinomio que pasa por los puntos (X, Y): X = [1 2 3 5] Y = [1.06 1.12 1.34 1.78] P = polyfit(X, Y, 3)