Verfasst am: 19.06.2008, 09:28
Titel: Undefined function or variable 'plot'?
Hallo zusammen,
ein Kollege von mir hat seit kurzem ein kleines Problem.
Er hat ein Skript geschrieben, in dem er mehrmals subplots erzeugt und diese mit plot bzw. semilogx befuellt.
Die Sache ist nun die:
Wenn das Skript ein Mal gelaufen ist, und er die Plot-Zeilen von Hand erneut ausfuehren moechte (markieren und F9 oder ins Command Window kopieren), erhaelt er die Meldung "undefined funktion or variable 'plot'". Sobald er das Skript komplett neu laufen laesst, scheint es wieder zu funktionieren.
Weiss jemand von euch, woher das kommen kann?
Die verwendete Version ist R2007b.
hat er vielleicht ein Handle names plot erstellt, das am Ende des Skript gelöscht wird? Oder handelt es sich vielleicht um eine Funktion?
Oder gibt es ein selbsterstelles m-File names plot?
Am besten stellst Du das Skript mal rein.
_________________
% Die ganzen eingebundenen dat-Dateien darf ich leider nicht mitschicken, allerdings funktioniert dieser Teil auch problemlos. Hinter den Zeilen ist die Groesse der Variable angegeben, der Inhalt sollte irrelevant sein.
Experiment = input('Namen des ersten Dateis: ','s');
Namen = strcat(Experiment,'\',Experiment,'_tau.dat');
tau_a = diag(load(Namen))/1000; % tau_a ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_fit.dat');
V_a_in = load(Namen); % V_a_in ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_der.dat');
DV_a_in = load(Namen); % DV_a_in ist 56x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_amp.dat');
Amp_a_in = load(Namen); % Amp_a_in ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'U.dat');
U_a_in = load(Namen); % U_a_in ist 23x2-Matrix
Experiment = input('Namen des zweiten Dateis: ','s');
Namen = strcat(Experiment,'\',Experiment,'_tau.dat');
tau_b = diag(load(Namen))/1000; % tau_b ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_fit.dat');
V_b_in = load(Namen); % V_b_in ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_der.dat');
DV_b_in = load(Namen); % DV_b_in ist 56x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'V_amp.dat');
Amp_b_in = load(Namen); % Amp_b_in ist 2x2-Matrix
Namen = strcat(Experiment,'\',Experiment,'U.dat');
U_b_in = load(Namen); % U_a_in ist 23x2-Matrix
DIM = size(U_b_in,2);
% load Referenzen\DieZeit.dat;
DieZeit = (1:10000)'; % Ersatz
t = DieZeit(7:end);
l = (406:2:450)';
t_a = t(1:size(V_a_in,1));
t_b = t(1:size(V_b_in,1));
Vermutlich liegt es an dem ":" fuer eine gestrichelte Linie, denn wenn ich es in Hochkommata setze, laeuft der Code auch bei Wiederholungen. Allerdings bliebe dann die Frage, wieso es ueberhaupt im Skript laeuft.
Stimmt,
habe ausprobiert und das Gleiche festgestellt.
Ich wurde eigentlich erwarten, dass in beiden Fällen mit Fehlermeldung terminiert werden. Denn Aufruf von Plot ist nicht korrekt, und deine Vermutung ist richtig, diese Property muss in Hochkommata stehen. Sonst sieht diese Funktion wie eine Variable für Matlab aus.
Wieso würde mich auch interessieren?
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
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.