joPAS
 
English Spanish
Web joPAS

Inicio

ScreenShots

Descargas

 

Documentos

 

Desarrolladores

Foros

Links

 
Grupo PAS
 
SourceForge.net Logo
Support joPAS

 
   
 

 

PRESENTACIÓN

 

El API joPAS ha sido creada por el Grupo PAS de la Universidad de Deusto. Permite al programador utilizar la potencia de cálculo del lenguaje Octave desde Java, el usuario puede crear programas en Java con la facilidad de poder implementar toda la parte matemática en Octave. Además la sintaxis de Octave es compatible con Matlab con lo que todas las sentencias creadas para Matlab también pueden ser usadas en joPAS.

El usuario sólo tendrá que llamar a la funcion execute() pasándole como argumento un String con el código de Octave, que será ejecutado en Octave. También permite cargar y guardar variables entre Java y Octave para ser utilzadas en los cálculos o para recoger los resultados de los mismos. joPAS permite la visualización de matrices mediante gráficas usando la clase jopasLabel, que es una implementación de las JLabels de Java que dibuja la gráfica de la matriz que recibe como argumento.

 

El siguiente ejemplo es un código Java que utiliza algunas de las funciones de joPAS:

//Crea una Matriz de 1x1 denominada "FC"
Matrix FCMatrix = new Matrix(2500.0, "FC");
//Carga la matriz anterior "FC" a Octave
jopas.Load(FCMatrix);


//Crea una Matriz de 1x1 denominada "FR", esto puede ser realizadocomo en el anterior código.
jopas.Load(5000.0, "FR");

String R = "1";
String A = "40";

//Ejecuta los comandos en Octave utilizando también las variables locales de java "R" y "A"
jopas.Execute("[N,W]=cheb1ord(FC/10000,FR/10000," + R + "," +A+ ")");
jopas.Execute("[B,A]=cheby1(N," + R + ",W)");
jopas.Execute("[H,F]=freqz(B,A,512,20000)");
jopas.Execute("modulodB=20*log10(abs(H))");
jopas.Execute("fase=unwrap(angle(H))");
jopas.Execute("Wc=W*10000");

/**
*XYPlots de "F" y "modulodB", el título de la gráfica a mostrar es "Módulo", la
* X label es "Frecuencia (Hz)" y laY label es "Módulo (dB)".
*/

this.jopasLabel2.paintLabel("F", "modulodB", "Módulo","Frecuencia (Hz)", "Módulo (dB)");
//Lo mismo con las variables "F" y "fase"
this.jopasLabel1.paintLabel("F", "fase", "Fase", "Frecuencia (Hz)", "Fase (rad)");

/**
* Muestra el valor de la variable "N" de Octave en el label.
* jopas.Save siempre retorna una variable de tipo Matrix.
* En este caso sabemos el tamaño de la matriz,es una matriz de 1x1
* por lo que accedemos directamente al elemento (0,0) de la matriz para obtener su valor.
*/

this.jTextField6.setText(Double.toString(jopas.Save("N").getRealAt(0,0)));
this.jTextField5.setText(Double.toString(jopas.Save("Wc").getRealAt(0,0)));

 

 
Deusto
 

Grupo PAS - Universidad de Deusto - 2005
Javier Vicente Saez