| VisualizaciónVisualización 2D/3D de alta calidadBasado en VTK (Visual Tool Kit), una de las más renombradas librerías de 
visualización de la industria, y en el estándar OpenGL, la librería gráfica de MATFOR ha extendido sus 
funcionalidades para proporcionar a los programadores de aplicaciones un conjunto de herramientas indispensables para el desarrollo de su actividad cotidiana. Algunos de los 
gráficos mas importantes, derivados de datos técnicos o científicos, como 
gráficos de superficie, isosuperficies, gráficos vectoriales, etc. pueden ser ahora creados con unas pocas 
líneas de código. MATFOR esta enfocado en la optimización de los resultados de los 
gráficos presentados, siendo éstos obtenidos de cualquier conjunto de datos. La 
figura 1 muestra un conjunto de gráficos de isosuperficie obtenidos por un radar 
meteorológico en diferentes altitudes para conformar un grafico de alta calidad correspondiente a un mapa 
climático.
  
 Figura 1: Gráfico de isosuperficie
   Visualización instantáneaAl contrario que otras librerías graficas como OpenGL, la librería grafica de MATFOR proporciona un simple y amigable entorno de trabajo desde donde poder desarrollar su trabajo. De este modo, evitará tener que acceder a la 
difícil y tediosa tarea de utilizar rutinas gráficas de bajo nivel para centrarse 
básicamente en la resolución de su trabajo. De este modo, su trabajo se centrará fundamentalmente en la 
inserción de las instrucciones graficas y de los datos relacionados como argumentos de entrada. El 
ejemplo 1 ilustra como un procedimiento gráfico se encuentra 'incrustado' en un programa Fortran.
 
 Ejemplo 1: Mesh Plot 'incrustado' en un programa Fortran 
 Figura 2: Resultado del Mesh Plot   Presentaciones animadasLa posibilidad de crear presentaciones animadas añade mayor dinamismo a sus simulaciones. MATFOR proporciona la posibilidad de realizar grabaciones de las simulaciones efectuadas. Los 
gráficos que aparecen en la simulación pueden ser capturados y guardados en un formato tipo AVI (Audio Video Interleave) para ser 
posteriormente reproducidos en populares 'media players'.
 
 Figura 3: Ejecución de una animación grabada con el Reproductor Multimedia   VelocidadAceleración en el Post-ProcesadoLos investigadores en computación científica pueden realizar un chequeo o 
depuración de los errores producidos en su programa una vez éste se encuentra al final de su 
ejecución. El Dr. Chung-Shan del Instituto de Ciencia y Tecnología revela que cuando se realizan 
cálculos en CFD (Computational Fluid Dynamics), el 70% del tiempo invertido se realiza en tareas de post-procesado (p.e. 
conversión de formatos de datos, exportación de datos, ajustes en los mapas de colores, ajustes en los 
ángulos de visión y visualización de las tareas de depurado). Esto es así porque los datos computados sólo pueden ser visualizados para su examen una vez han sido procesados una enorme cantidad de datos. Por lo tanto, el mecanismo de 
monitorización en tiempo real se transforma en una necesidad urgente para los programadores e investigadores en 
áreas científicas, ya que les ayuda enormemente en un considerable ahorro de tiempo en las tareas de post-procesado.
 Mientras que la eficiencia de los procedimientos gráficos de MATFOR es consistente y altamente optimizada, MATFOR se enfoca 
además en proporcionar un mecanismo para la monitorización en tiempo real de programas para 
propósitos de depuración. Para alcanzar este objetivo, MATFOR proporciona Graphics Viewer y Data Viewer que muestran los datos intermedios. 
Así pues, durante la ejecución, Ud. puede: 1) ver como el algoritmo se ejecuta en Graphics Viewer y 2) pausar el algoritmo y exportar los datos intermedios a Data Viewer (que tiene una apariencia de hoja de calculo) para un examen más avanzado. 
  "El mecanismo de monitorización en tiempo real nos ayuda a ahorrar cerca de un 60% en tiempo de desarrollo en cada uno de nuestros proyectos.", indica el Dr. Huang del Chung-Shan Institute of Science and Technology.   SimplicidadInclusión de datos simplesMATFOR adopta el concepto de 'simple llamada' que es utilizado por Matlab para introducir el tipo de dato denominado "mfArray". Se trata de un array altamente flexible que no requiere ni dimensionamiento ni la 
inclusión de datos explícitos. Tan fácil como la inclusión sencilla de datos, proporciona una elevada simplicidad en la llamada de subrutinas, del mismo modo en que se realiza en lenguajes de 
programación como Matlab y Visual Basic.
 mfArray proporciona la entrada de datos dinámicos y redimensionamiento en un entorno de trabajo Fortran. Muchos de nuestros procedimientos 
			están basados en él. Los procedimientos basados en mfArray pueden ser 
			fácilmente 'incrustados' en nuestro programa sin necesidad de realizar ninguna 
			modificación en nuestro código fuente. Esto nos permite utilizar un mecanismo de sintaxis tipo Matlab dentro de un entorno de trabajo Fortran. 
El ejemplo 2 muestra como mfArray es declarado y utilizado.   Ejemplo 2: Declaración y utilización de mfArray en Fortran   Librería numéricaLa librería numérica de MATFOR es una colección de procedimientos 
matemáticos, que van desde procedimientos matemáticos elementales como mfSin, mfCos, y 
aritmética compleja, hasta sofisticados procedimientos como valores propios, 
descomposición LU, matrices inversas, etc.
 Basada en la Intel MKL (math 
    kernel library), la librería numérica de MATFOR proporciona alta precisión para obtener los 
	máximos rendimientos. Los procedimientos numéricos están organizados en 
	pequeños conjuntos de librerías ? elfun, fileio, datafun, elmat y matfun. Muchos procedimientos utilizan mfArray como argumento de entrada y salida. Con esta sencilla sintaxis, los procedimientos de MATFOR toman la clara ventaja de los tradicionales lenguajes de 
	programación vectoriales ya que pueden ser llamados de modo muy intuitivo. El ejemplo siguiente muestra como MATFOR simplifica el 
	código originalmente escrito en Fortran tradicional. Los procedimientos numéricos adoptan una sintaxis fácil de llamar. De ese modo, permite que el investigador o el programador se centre fundamentalmente en su problema, sin tener que preocuparse en cómo se realiza la 
	gestión de las estructuras de los datos y del mantenimiento de los argumentos de entrada. El 
	ejemplo 3 muestra como el procedimiento de Singular Value Decomposition (SVD) es llamado en MATFOR y LAPACK. Ejemplo 3: Singular Value Decomposition (SVD)
     
  
 Adicionalmente, MATFOR proporciona procedimientos numéricos 
específicos que de modo automático buscan el modo óptimo para resolver los algoritmos 
numéricos que son utilizados comúnmente, como por ejemplo aquéllos que implican la 
inversión de matrices. Esto asegura la eficiencia y la robustez del código utilizado. Ejemplo 4: Resolviendo Ax = b, x = mfLDiv(A, b) 
   RequerimientosMATFOR 3 in Fortran para Windows: Plataforma: 
          Windows 98/NT/2000/Me/XPCompilador: Compaq Visual Fortran 6.6 o superior, Intel Fortran 
          7.0 o superior, Fortran PowerStation 4.0
 MATFOR 3 in Fortran para Linux: Plataforma: Sistema Linux con 
          glibc 2.2.5 o 2.2.93 y el kernel Linux 2.4.X Compilador: Intel Fortran 7.0 o superior, PGI Fortran
 |