2012-07-18 10 views
9

Tengo varias secuencias de comandos (archivos m) y nuestros clientes tienen diferentes versiones de Matlab. ¿Hay alguna herramienta para verificar la compatibilidad de cada script con ciertas versiones de Matlab?¿Herramienta para verificar la compatibilidad con las versiones de Matlab?

+0

+1 gran pregunta, le encantaría que MathWorks desarrollaron una herramienta de este tipo. Tal vez deba hacer una [solicitud de funciones] (http://blogs.mathworks.com/community/2008/01/14/making-a-feature-request/) – Amro

+0

Lamentablemente, no las hay. Creo que sería una pesadilla mantener esa herramienta por la avalancha de cambios incompatibles que introducen con cada versión de Matlab. Ya sería útil si pusieran el número de versión cuando introdujeron/cambiaron/desaprobaron/eliminaron ciertas características de la documentación, pero no les importa (lo intenté como una solicitud de función a través de su soporte, pero no lo hicieron). moleste. Tal vez si más personas lo solicitaran ...) –

Respuesta

0

Dependiendo de la versión de Matlab a la que está migrando, hay una característica llamada Upgrade Advisor que puede verificar este tipo de cosas (es muy similar al Simulink Model Advisor).

+0

¿Puede describir cómo usarlo? Estoy en 2011b y no puedo encontrar la función. – bdecaf

+0

y dónde encontrarlo. ¡Gracias! – Durin

+0

Mis aplicaciones, parece que tuve un momento de alto nivel aquí. El Asesor de actualizaciones solo está disponible en las versiones más nuevas de Matlab (aunque el asesor de modelos seguirá haciendo gran parte de las comprobaciones que creo que busca). La solución de @Mark a continuación debería hacer exactamente lo que está buscando. – BigA

4

Es posible que pueda hacer lo que quiera con la función checkcode. Alternativamente, puede usar funciones tales como version y verLessThan para escribir sus scripts y funciones de forma que comprueben en qué versión se ejecutan y tomen las medidas adecuadas.

3

para MATLAB R2017b y más reciente SOLAMENTE:

Sí, tenemos una herramienta para crear un codeCompatibilityReport para la carpeta de trabajo actual y subcarpetas. Esta característica se introdujo en MATLAB R2017b. El informe de compatibilidad de código se abre en el navegador web de MATLAB. Después de actualizar a una versión más nueva de MATLAB, puede usar este informe para identificar posibles problemas de compatibilidad en su código existente.

Navegue hasta el directorio que aloja sus archivos M para los cuales desea ejecutar el informe de compatibilidad de código, dentro de MATLAB. A continuación, ejecute el siguiente comando:

>> codeCompatibilityReport 

El código de informe de compatibilidad contiene información para ayudarle a actualizar su código para una nueva versión de MATLAB. Contiene estas secciones.

Incompatibilidad y errores de sintaxis - Tabla con detalles sobre los errores de sintaxis y consideraciones de incompatibilidad en el código analizado. Por ejemplo, "Usar ~ para ignorar un valor no está permitido en este contexto o se ha eliminado 'wavfinfo'. Use 'AUDIOINFO' en su lugar."

Advertencias y otras recomendaciones - Tabla con detalles sobre advertencias y otras oportunidades para mejorar su código. Por ejemplo, "No se recomienda el uso programático de DISPLAY. Use DISP o FPRINTF en su lugar".

Comprobaciones realizadas - Detalla las comprobaciones realizadas en el código especificado.

Archivos - Lista de archivos que MATLAB analizó para la compatibilidad del código.

Aquí hay un enlace a MATLAB Respuestas post con más información: https://www.mathworks.com/matlabcentral/answers/364764-is-there-a-tool-to-check-for-compatibility-between-different-matlab-versions

Cuestiones relacionadas