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?
Respuesta
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).
¿Puede describir cómo usarlo? Estoy en 2011b y no puedo encontrar la función. – bdecaf
y dónde encontrarlo. ¡Gracias! – Durin
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
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.
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
- 1. Versiones de clase para admitir la compatibilidad con versiones anteriores
- 2. Mejores prácticas para la compatibilidad con versiones anteriores de API
- 3. Deserialización compatibilidad con versiones anteriores
- 4. MATLAB: Las diferencias entre las versiones .mat
- 5. ¿Cuán importante es la compatibilidad con versiones anteriores?
- 6. MS Office PIAs "compatibilidad con versiones anteriores"
- 7. Estrategias para Honeycomb y compatibilidad con versiones anteriores
- 8. Integración de Kiosco sin romper la compatibilidad con versiones anteriores
- 9. ISerializable y compatibilidad con versiones anteriores
- 10. Compatibilidad con versiones anteriores y servicios web
- 11. .lib y .dll Compatibilidad con versiones anteriores
- 12. Compatibilidad de formato de datos entre las versiones de protobuf
- 13. Renombrado de funciones con preservación de compatibilidad con versiones anteriores
- 14. ¿Cómo puedo probar la compatibilidad con versiones anteriores de la API entre los ensamblados de .NET
- 15. Temas de Android Holo con compatibilidad con versiones anteriores
- 16. Uso de las características de iOS 5 sin romper la compatibilidad con versiones anteriores
- 17. ¿Cómo comprobar la compatibilidad entre mi programa y las versiones de .NET Framework?
- 18. Compatibilidad con versiones anteriores en .NET con BinaryFormatter
- 19. Compatibilidad con versiones anteriores de Java 6 Source y SQL
- 20. WCF Service - Problema de compatibilidad con versiones anteriores
- 21. Compatibilidad con versiones anteriores de SQL Server en Entity Framework?
- 22. Uri.IsWellFormedUriString para la compatibilidad relativa con las URL Hashbang
- 23. Compatibilidad con versiones anteriores del repositorio de Git
- 24. Herramienta automática para verificar convenciones de códigos para C/C++
- 25. compatibilidad del sistema operativo para varias versiones de .NET Framework
- 26. Compatibilidad entre Mac y Windows MATLAB Gui
- 27. Herramienta/utilidad para verificar la depuración Consultas de XPath
- 28. Windows API Codepack Compatibilidad con versiones anteriores en Windows XP
- 29. Control de versiones de Matlab Simulink con múltiples desarrolladores
- 30. ¿Puede eliminar la finalización de una definición de clase romper la compatibilidad con versiones anteriores?
+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
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 ...) –