36 votes

Comment puis-je générer une liste de dépendances de fonctions dans MATLAB?

Dans le but de distribuer une fonction que j'ai écrite qui dépend d'autres fonctions que j'ai écrite et qui ont leurs propres dépendances et ainsi de suite, sans distribution de chaque m-le fichier que j'ai jamais écrite, j'ai besoin de comprendre quelle est la liste complète des dépendances pour un certain m-fichier. Est-il intégré/téléchargeable librement façon de le faire?

Plus précisément, je m'intéresse à des solutions pour MATLAB 7.4.0 (R2007a), mais si il y a une manière différente de le faire dans les anciennes versions, par tous les moyens, merci de les ajouter ici.

35voto

Azim Points 4541

Pour les nouvelles versions de Matlab (par exemple, en 2007 ou 2008), vous pouvez utiliser les fonctions intégrées:

  1. mlint
  2. le rapport de dépendance et de
  3. rapport de couverture de

Une autre option est d'utiliser Matlab profiler. La commande est de profil, il peut également être utilisé pour gérer les dépendances. Pour le profil d'utilisation, vous pourriez faire

>> profile on   % turn profiling on
>> foo;         % entry point to your matlab function or script
>> profile off  % turn profiling off
>> profview     % view the report

Si profiler n'est pas disponible, alors peut-être les deux fonctions suivantes sont:

  1. depfun
  2. depdir

Par exemple,

>> deps = depfun('foo');

donne une structure, deps, qui contient toutes les dépendances de foo.m.

Si vous n'avez pas accès à l'une de ces construit dans les fonctions Matlab vous pouvez essayer la recherche par le biais de Mathworks Centrale d'Échange de Fichiers. Par exemple, il est un élément de la fdep qui semble prometteur, mais je n'ai pas essayé ou encore testé.

EDIT:

Mises en garde grâce à @Mike Katz commentaires

  • Rappelez-vous que le Profiler ne vous montrer les fichiers qui ont été effectivement utilisés dans ces pistes, donc si vous n'allez pas par le biais de chaque branche, vous pouvez avoir dépendances supplémentaires. L' le rapport de dépendance est un bon outil, mais ne résout statique dépendances sur le chemin d'accès et juste pour les fichiers dans un seul répertoire.

  • Depfun est plus fiable, mais vous donne tout ce qu'il peut penser, et manque encore de CHARGE et EVAL est.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X