|
Seer |
Forum-Fortgeschrittener
|
|
Beiträge: 53
|
|
|
|
Anmeldedatum: 23.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.14.0.739
|
|
|
|
|
|
Verfasst am: 05.07.2012, 13:31
Titel: Unklare Warnmeldungen
|
|
Ich bekomme in meinem Code zwei Warnungen, aus denen ich nicht recht schlau werde:
Zitat: |
Code Analyzer cannot determine whether 'mod' is a variable or a function, and assumes it is a function.
Code Analyzer cannot determine whether 'interp1' is a variable or a function, and assumes it is a function. |
Das Programm funktioniert einwandfrei, und eigentlich sind "mod" und "interp1" doch Standardfunktionen? Ich habe auch keine Variablen die so heißen.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.07.2012, 18:07
Titel:
|
|
Hallo,
ich muss sagen, ich habe diese Meldungen noch nie gesehen.
Rückfragen, um dir weiterhelfen zu können:
- Welches Release verwendest du?
- Kannst du Codebeispiele geben, die diese Meldungen erzeugen?
Wenn du davon überzeugt bist, dass an diesen Stellen kein Problem vorliegt, kannst du die Meldungen unterdrücken, indem du auf das orange unterlegte rechts-klickst und oben eine der Suppress-Optionen ("in all files" würde ich nicht nehmen) auswählst.
Grüße,
Harald
|
|
|
Goofy9020 |
Forum-Century
|
|
Beiträge: 164
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2009a, 2010b
|
|
|
|
|
|
Verfasst am: 06.07.2012, 07:54
Titel:
|
|
Es klingt stark danach, dass du eine Variable mit dem gleichen Namen verwendest, aber wenn du sagst, du hast keine, dann ist diese Fehlermeldung etwas eigenartig
|
|
|
Seer |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 53
|
|
|
|
Anmeldedatum: 23.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.14.0.739
|
|
|
|
|
|
Verfasst am: 06.07.2012, 08:25
Titel:
|
|
Nein, Variablen mit dem gleichen Namen habe ich definitiv nicht, dass ist mir nur bei "alpha" passiert.
Inzwischen habe ich diese Fehlermeldung bei jeder Funktion, aber nur wenn ich sie das erste Mal aufrufe. Wenn sie mehrmals verwendet wird, wird nur die erste Verwendung markiert.
Beispiele:
Die Fehlermeldung taucht auch im Quelltext von Matlab-internen Funktionen auf, bspw. in "axis" (siehe Anhang).
Die Fehlermeldung lautet immer:
Code Analyzer cannot determine whether 'FUNKTIONSNAME' is a variable or a function, and assumes it is a function.
Grundsätzlich kann ich die Fehlermeldung zwar ausschalten, ich wüsste aber trotzdem gerne warum sie bei mir angezeigt wird.
Beschreibung: |
|
Download |
Dateiname: |
Fehlermeldung axis.PNG |
Dateigröße: |
21.57 KB |
Heruntergeladen: |
514 mal |
|
|
|
Goofy9020 |
Forum-Century
|
|
Beiträge: 164
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2009a, 2010b
|
|
|
|
|
|
Verfasst am: 06.07.2012, 08:34
Titel:
|
|
|
|
|
Hab jetzt mal im Internet nachgesehen. Viel ist ja nicht dazu zu finden. Das Einzige was ich da jetzt gesehen habe ist, dass man eventuell die Variable initialisieren sollte oder so. Vielleicht hilft es dir ja was:
Zitat: |
Distinguish Function Names from Variable Names. Code analysis cannot always distinguish function names from variable names. For the following code, if the Code Analyzer message is enabled, code analysis returns the message, Code Analyzer cannot determine whether xyz is a variable or a function, and assumes it is a function. Code analysis cannot make a determination because xyz has no obvious value assigned to it. However, the program might have placed the value in the workspace in a way that code analysis cannot detect.
function y=foo(x)
.
.
.
y = xyz(x);
end
For example, in the following code, xyz can be a function, or can be a variable loaded from the MAT-file. Code analysis has no way of making a determination.
function y=foo(x)
load abc.mat
y = xyz(x);
end
Variables might also be undetected by code analysis when you use the eval, evalc, evalin, or assignin functions.
If code analysis mistakes a variable for a function, do one of the following:
Initialize the variable so that code analysis does not treat it as a function.
For the load function, specify the variable name explicitly in the load command line. For example:
function y=foo(x)
load abc.mat xyz
y = xyz(x);
end |
Link zur Hilfe: http://www.mathworks.de/help/techdoc/matlab_env/brqxeeu-151.html
|
|
|
Seer |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 53
|
|
|
|
Anmeldedatum: 23.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.14.0.739
|
|
|
|
|
|
Verfasst am: 06.07.2012, 08:40
Titel:
|
|
Ja das könnte passen. Letztendlich muss ich mich da also nur drum kümmern wenn Matlab etwas falsch interpretiert...
Ich könnte natürlich auch grundsätzlich alle Variablen vorher definieren...
Nee, da schalte ich die Meldung lieber aus
|
|
|
Goofy9020 |
Forum-Century
|
|
Beiträge: 164
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2009a, 2010b
|
|
|
|
|
|
Verfasst am: 06.07.2012, 08:41
Titel:
|
|
Finde ich trotzdem eigenartige diese Meldung
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.07.2012, 09:36
Titel:
|
|
Hallo,
bei meiner MATLAB-Version ist diese Meldung standardmäßig ausgeschaltet. Das kann allerdings daran liegen, dass ich auch vorherige Releases installiert habe und Einstellungen von dort übernommen wurden.
Das zugrundeliegende Problem ist, dass z.B. die Syntax für Funktionsaufrufe und Indizierung in MATLAB gleich ist, so dass folgendes schwer unterschieden werden kann:
Meiner Meinung nach kann man hier ausnahmsweise guten Gewissens "suppress in all files" auswählen. Bei Bedarf wieder anwählen kann man das unter File --> Preferences bei Code Analyzer.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|