Ich habe ein komplexes MATLAB-Simulink-Projekt mit vielen m-Dateien und mdl-Dateien. Einige M-Dateien definieren Variablen, die in anderen M-Dateien verwendet werden (schlechtes Design, ich weiß, aber es ist Legacy-Code). Es gibt auch Funktionen, die nicht mehr verwendet werden.Ungenutzte Variablen und Funktionen in einem MATLAB-Simulink-Projekt finden
Ich brauche einen automatischen Weg, um ungenutzte Variablen und Funktionen zu finden, damit ich sie löschen kann und das Ganze etwas weniger komplex machen kann. Idealerweise sollte ich ein Skript/Werkzeug haben, das den Namen des Wurzelverzeichnisses des Projekts als Eingabe verwendet, alle Dateien in Unterverzeichnissen durchsucht und alle Variablen und Funktionen ausgibt, die nicht in einer m-Datei oder MDL-Datei verwendet werden. Ich weiß, dass ich Variablen finden kann, die nicht in MDL-Dateien verwendet werden (siehe Tips and Tricks - Tracking Variables in a Simulink Model). Ich möchte diese Methode auf alle Dateien im Projekt anwenden.
Meine Idee, Variablen zu finden, die nicht in m-Dateien verwendet werden, besteht darin, alle m-Dateien vorübergehend in einer einzigen Datei zu vereinen und mlint darauf auszuführen. Irgendwelche besseren Ideen?
Danke, aber dies deckt nur einen Teil des Problems ab. Nehmen wir an, ich habe zwei Dateien f1.m und f2.m. f1.m ist wie folgt: a = 5; b = 3; f2 ist wie folgt: c = a * 2; b wird nicht verwendet, aber Code-Analyzer-Bericht sagt das nicht. – Samil
@Samil: Das ist ein Problem, da diese nicht [Funktionen] sind (http://www.mathworks.com/help/techdoc/ref/function.html), sie sind [Skripte] (http: // www .mathworks.com/help/techdoc/ref/script.html). Da ein Skript in jedem Arbeitsbereich ausgeführt werden kann und nicht angegeben wird, welche Variablen in diesem Arbeitsbereich bereits vorhanden sind oder welche Variablen aus dem Skript später von einem anderen Skript oder einer anderen Funktion verwendet werden, müssen Sie möglicherweise alle Ihre Skriptdateien zusammenführen irgendwie zuerst MLINT effektiv zu laufen. Im Umgang mit Skripten kann ich nicht anders herum denken. – gnovice