Después de ejecutar un archivo M en matlab, se guardan todos los archivos M llamados.
El principal medio para analizar la relación de llamada a funciones de MATLAB es la función depfun. Su uso básico es:
[Lista, incorporada, clase]. =?Depfun(fun) Esto enumerará los archivos m (ruta completa), las funciones integradas y las clases requeridas por la función fun.
Si desea copiar archivos a una carpeta, debería poder escribir una lista de iteración de archivos simple. Pero hacerlo puede causar los siguientes problemas:
Muchos archivos M en 1 y MATLAB están sobrecargados, y copiarlos a una carpeta puede implicar conflictos con archivos con el mismo nombre;
2 Hay muchos archivos que requieren soporte de otros archivos. Es posible que simplemente copiar el archivo M no necesariamente se use de forma independiente (como funciones relacionadas con operaciones simbólicas).
3. Los archivos que involucran clases pueden ser muy complejos. Por ejemplo, intenté analizar una función tf de la caja de herramientas del sistema de control:
[List,? ¿Incorporado? clase】? =?Depfen ('tf.m ') se ejecutó durante más de diez minutos, pero finalizó de manera anormal debido a memoria insuficiente (versión 2013a).
4. No estoy seguro de si depfun obtiene las dependencias entre funciones mediante análisis de código estático o análisis de código dinámico, pero supongo que puede ser lo primero. Los resultados del análisis actual se basan principalmente en una función no revelada, newdepfun, para implementar el análisis de código.
5. Debido a que MATLAB ahora tiene muchas formas gramaticales, es posible que las relaciones de llamada de algunas formas no se analicen correctamente. Por ejemplo, funciones llamadas a través de funciones anónimas, funciones de devolución de llamada, evaluación, etc.
Relacionada con depfun está la función depdir, que le permite ver información relevante usted mismo. También puede generar los llamados informes de dependencia para carpetas. Para obtener más información, busque el tema Identificación de dependencias del programa.
Además, después de ejecutar el archivo M, puede usar la función inmem para verificar qué funciones, archivos MEX y clases están en la memoria, pero no se incluye la información completa de la ruta.
En cuanto a distinguir el sistema en sí de los requisitos escritos por usted mismo, no es práctico. Porque no existe una diferencia esencial entre los archivos M de MATLAB y los escritos por usuarios o terceros. Es solo que los llamados archivos M se almacenan en la carpeta de la caja de herramientas de MATLAB y son relativamente estables y confiables después de años de mejora. Si las herramientas escritas por usuarios o terceros son excelentes, no se descarta que en el futuro sean adquiridas por MATLAB y pasen a formar parte de sus propios sistemas (ha habido muchos casos de este tipo en el pasado).