6
votes

Nombre de pistes de fois qu'une fonction est référencée dans un dossier / fichier dans matlab?

J'ai un grand projet avec plus de 40 fonctions et il s'agit simplement d'augmenter chaque jour. Souvent, je fais référence à une fonction plusieurs fois de différents scripts. De temps en temps, je constaterai que je dois éditer une fonction pour un script, puis je réalise qu'il est possible que je souhaite que cette fonction reste la même pour un autre script. Évidemment, cela n'est pas un problème. Je peux juste écrire une nouvelle fonction. Mais parfois, je ne me souviens pas si j'ai référencé cette fonction ailleurs dans mon plus grand dossier contenant tous mes scripts!

Y a-t-il un moyen de trouver un moyen de trouver un compte de combien de fois une fonction est utilisée dans un dossier? Si oui, est-il un moyen de suivre où il est référencé? Merci d'avance =).


0 commentaires

3 Réponses :


2
votes

Je ne connais aucune fonctionnalité de Matlab intégrée qui le fait, vous devez donc probablement écrire une fonction pour le faire pour vous.

Vous pouvez utiliser le Fonction Dirwalk De Matlab FileExchange pour analyser votre dossier de projet et consultez tous les fichiers MATLAB (utilisez la commande what ) recherchant votre nom de fonction.


0 commentaires

6
votes

Pour cela, j'utilise généralement les fichiers Rechercher les fichiers la fonction (trouvée dans le menu en haut de votre écran) avec l'option "contient". Surtout si votre nom de fonction ne correspond pas très bien aux noms de variables communs.

juste chercher dans l'ensemble du chemin MATLAB ou dans le répertoire spécifique pour quelque chose comme myfun ( et vous verrez tous les endroits où il s'appelle. Dans le pire des cas, vous trouverez également des endroits où il n'est pas appelé.


2 commentaires

C'est parfait! Je savais que Matlab aurait quelque chose à faire cela, ils ont de très bonnes interfaces utilisateur = p. Merci!


+1 totalement négligé cela. DAMN vous, nouvelle interface utilisateur MATLAB;)



5
votes

6 commentaires

Comme la soumission FEX, mais cela peut-il également vous montrer combien de fois une fonction est appelée à partir de chaque fonction?


Définitivement utile aussi bien =)


@Dennisjaheruddin: ma solution ne vous montrera que quelles fonctions utilisent votre fonction, pas à quelle fréquence ils y référent. Pour autant que je sache, cela détient également la soumission FEX. Vous pouvez obtenir le nombre absolu d'appels d'exécution à l'aide de la sortie du profil ('info') , mais c'est quelque chose de différent. Pourquoi avez-vous besoin de ce numéro?


@Florianbrucker Il donnerait une première indication de la quantité que vous auriez à refacteur chaque fonction qui appelle votre fonction dépendante. Je ne dirais pas que vous en avez besoin, mais cela aurait été un bon supplément.


M2HTML , dans le cadre de la documentation qu'il génère, produit également une liste d'autres fonctions Ce qui fait référence à l'actuel: Stackoverflow.com/a/7444630/97160


@ Dennisjaharuddin: Dans ce cas, j'irais avec une simple heuristique de simplement chercher à quelle fréquence le nom de la fonction cible se produit dans le code, semblable à votre réponse. Vous pouvez utiliser invdepfun pour trouver d'abord les fonctions correspondantes.