2011-08-03 25 views
16

Estoy trabajando en la edición para estudiantes Matlab R2011a. Quiero ejecutar algunas demostraciones proporcionadas en Matlab que requieren alguna caja de herramientas como Embedded Coder y EDA Simulator Link.Cómo comprobar si la caja de herramientas de matlab está instalada en matlab

Quiero comprobar si esas cajas de herramientas están instaladas en mi versión actual de matlab y, en caso afirmativo, cómo puedo verificar si las licencias son válidas.

La referencia a este enlace no me ayuda: How would one check for installed MATLAB toolboxes in a script/function? porque necesito al menos el nombre corto de esas cajas de herramientas como estados de "control" para "Sistema de control de la caja de herramientas" con el comando de control ver.

Cualquier sugerencia ...

Respuesta

3

siempre se puede revisar la documentación de ayuda principal que generalmente enumera la caja de herramientas. O si pulsa "Start" (inicio del Matlab, no Windows) la lista de cajas de herramientas instaladas será organizado por categoría

11

Para comprobar que la caja de herramientas está instalada, utilice

v = ver; 
any(strcmp(toolboxName, {v.Name})) 

donde toolboxName es el nombre de la caja de herramientas que desea verificar

Para comprobar que la licencia es válida, utilice

license('test', toolboxName) 
+0

lo sabía. Pero el problema al encontrar el nombre específico para la caja de herramientas para ingresarlo como argumento. – sam

+2

ADVERTENCIA: ¡no se garantiza que el nombre de la caja de herramientas sea el mismo para la versión y la licencia! Por ejemplo, la caja de herramientas de optimización es 'optim' en ver/verLessThan pero 'optimization_toolbox' en la licencia.El nombre utilizado por ver parece ser solo el nombre del directorio que contiene la caja de herramientas bajo /toolbox /.

1

Los nombres de las cajas de herramientas que son devueltos por la función license son los mismos que lo que está en el archivo de licencia. El archivo de licencia estará en la PC local o en un servidor de licencias FLEXlm, dependiendo de su entorno. En Windows, consulte C:\Program Files\MATLAB\R2011a\licenses para obtener un archivo de licencia, que normalmente se llama algo así como license.lic o network.lic. Abra el archivo en su editor favorito (el bloc de notas lo hará). Si ve un texto que dice SERVER seguido de un nombre de host, una dirección MAC y un número de puerto, entonces está usando una licencia de red y deberá consultar al administrador de su sistema. De lo contrario, debe haber una línea INCREMENT para cada producto con licencia y el nombre del producto según lo utilizado por la función license se da después de la palabra clave INCREMENT. Si está en un sistema UNIX o Linux, puede que tenga que buscar un poco para encontrar la ruta para el archivo de licencia (¿o quizás otra persona puede proporcionar esto?).

Editar: Mi instalación de MATLAB está en una ruta no estándar. Se cambiaron las instrucciones para dar la ruta predeterminada.

4

utilizar fácilmente ver comando. enumerará todas las cajas de herramientas instaladas y sus versiones. la otra es verificar desde el botón start.

También puede usar el existing function in FileExchange llamado isToolboxAvailable. El uso es como sigue:

result = isToolboxAvailable('image processing toolbox','error'); 
3

Aquí es una solución sucia:

try 
    <funktion from specific toolbox> 
    <do this if it is available> 
catch 
    <do this if it is not 
end 
+0

¿Podría dar más detalles? – Robert

+0

Simple y justo lo que necesitaba. – cb4

Cuestiones relacionadas