Autor Tema: Matlab - Quitar de memoria un vector  (Leído 1753 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Matlab - Quitar de memoria un vector
« en: 19 de Marzo de 2008, 18:07:28 »
Hola

Estoy trabajando sobre unos archivos de audio y cargo toda la información de un archivo en un vector así:

xorig=wavread(path);

en donde path es un archivo.wav. Luego le hago un procesamiento a ese vector y lo procesado lo deposito en otro vector nuevo. A partir de ese momento ya no vuelvo a necesitar para nada el vector xorig... ¿hay forma de decirle a Matlab que lo quite de memoria?

Gracias.  :-)

Desconectado dhmejia

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 260
Re: Matlab - Quitar de memoria un vector
« Respuesta #1 en: 19 de Marzo de 2008, 19:03:58 »
si:

Código: Matlab M
  1. clear xorig;

Saludos,

Diego.
Pereira - Colombia

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Matlab - Quitar de memoria un vector
« Respuesta #2 en: 19 de Marzo de 2008, 20:04:30 »
Gracias, funciona O.K.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Generar .exe de Matlab 7
« Respuesta #3 en: 15 de Mayo de 2008, 13:48:43 »
Hola

Aprovechando este tema, en unos días voy a empezar el diseño de una aplicación en Matlab haciendo uso de la GUI. Esta aplicación tendrá ventanitas y diálogos y trabajará señales digitales, les va a aplicar filtros, autocorrelación, etc.

El archivo se va a ejecutar dentro de Matlab 7 y pues quisiera saber si hay forma de generar un .exe para que la aplicación con todo y ventanitas se pueda ejecutar en cualquier máquina que no cuente con Matlab. ¿Se puede hacer eso con Matlab 7? Talvez necesite actualizarme a Matlab 8.

Gracias  :-)

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: Matlab - Quitar de memoria un vector
« Respuesta #4 en: 15 de Mayo de 2008, 14:08:04 »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Matlab - Quitar de memoria un vector
« Respuesta #5 en: 15 de Mayo de 2008, 14:12:45 »
Gracias Modulay, por lo que leí, hay que hacer que visual basic llame a Matlab, pero es necesario tener matlab instalado. Lo ideal sería que no dependa ni de vb ni matlab.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Matlab - Quitar de memoria un vector
« Respuesta #6 en: 08 de Junio de 2008, 11:02:33 »
Ya encontré la solución a compilar código matlab a ejecutable de Windows...

http://blogs.mathworks.com/pick/2007/12/12/advanced-matlab-compiling-a-gui/

Tiene un video que explica cómo hacerlo, es usando Matlab Compiler 4.8, y crea un stand-alone del proyecto, no necesita Matlab para ejecutarse.
« Última modificación: 08 de Junio de 2008, 11:10:23 por migsantiago »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Generar exe de Matlab Stand Alone
« Respuesta #7 en: 14 de Junio de 2008, 20:35:34 »
Hoy estuve buscando más información sobre el compilador de Matlab y descubrí que la versión de Matlab 7 que uso ya tiene incluido el compilador.

Para compilar una aplicación es súper sencillo. Hay que ubicar el directorio de trabajo de Matlab en donde están los archivos m y luego escribir el comando mcc.

>>mcc -m miprograma.m

Si es la primera vez que se usa el compilador, Matlab va a buscar en la computadora los compiladores de c y c++ que haya instalados. En mi caso me mostró las opciones LCC (compilador de Matlab) y Visual C++ 6; elegí Visual C++, pero se puede elegir el LCC también.

Al terminar la compilación aparecen 4 archivos que siguiendo este ejemplo se llamarían...

miprograma.exe
miprograma.ctf
miprograma_main.c
y otro c que no recuerdo su nombre pero que no importa

Después si se da doble click al ejecutable, se abre una ventana de ms-dos y he ahí el programa compilado.

Para compilar aplicaciones que cuentan con archivo m y archivo fig que tiene una Graphic user interface, el proceso es el mismo, solo hay que usar como parámetro el archivo m.

Ahora que ya se tiene la compilación se puede distribuir libremente solo copiando el archivo exe y el archivo ctf. Esto ayuda mucho en casos en que no se quiere compartir el código fuente del programa.

Pero hay dos tipos de máquinas en las que el programa correrá...

- La que ya tiene Matlab instalado. El programa exe correrá sin problema alguno, realmente es un stand alone.
- La que no tiene Matlab instalado. El programa no correrá porque pide muchas librerías. La solución es copiar un archivo llamado MCRInstaller.exe junto con los archivos exe y ctf. El instalador se encarga de copiar las librerías de Matlab Component Runtime para que el exe compilado funcione en cualquier máquina.

El archivo MCRInstaller está ubicado en C:\MATLAB7\toolbox\compiler\deploy\win32\MCRInstaller.exe y debe incluirse con la aplicación standalone para máquinas que no tienen matlab. Lo malo es que es un archivo muy grande, en mi caso es de 76MB; y comparándolo con la aplicación exe y ctf es inmenso, nada portátil.

Bueno, dejo esto como guía porque en internet hay tutoriales que dicen las cosas a medias, pero leyendo todos logré compilar mi aplicación.
« Última modificación: 14 de Junio de 2008, 20:38:16 por migsantiago »


 

anything