Verfasst am: 18.04.2011, 12:05
Titel: Keine Übergabe von Variablen aus Schleifen?
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte gerne aus mehreren Edit Boxen eines GUI Zahlenwerte einlesen und diese mit jedem Wert einer Matrix vergleichen. Befindet sich dieser Wert innerhalb der Grenzen, soll er in eine neue Matrix übernommen werden.
Nun gibts aber bei der Ausführung stets folgende Beschwerde:
??? Undefined function or variable "auswx".
Und in der Folge einige Error-Meldungen. Ich vermute ja mal, dass die Variable nicht bekannt ist, kann mir aber nicht erklären wo das Problem liegt.
Hier mal mein geistiges "Werk"
Code:
Stationen=xlsread('Alle_DE-Nullung','MATLAB');
x=Stationen(:,1);
y=Stationen(:,2);
hold on
voronoi(x,y)
for i=1:length(Stationen) for z1=1:1:length(Stationen) if Stationen(i,1)<=xKmax %Wenn iter Wert der ersten Spalte kleiner Grenze
if Stationen(i,1)>=xKmin %Wenn iter Wert der ersten Spalte größer Grenze
auswx(z1,:)=Stationen(i,:) %setze Variable = Wert der zeile
a=1;
Hallo HeinzG6,
da die Variable auswx unbekannt zu sein scheint. gehe ich einfach mal davon aus, dass die Bedingungen in der ersten Schleife nicht greifen und die Variable nicht angelegt wird und er somit in der zweiten Schleife auf eine unbekannte zugreifen soll.
Setz mal den Debugger an und schau was in der Variable auswx drin steht wenn der Fehler erscheint.
_________________
Vielleicht sollte ich ergänzen, dass das Skript tut was es soll, wenn es Zeile für Zeile in den Workspace gegeben wird. Soll es als M-File bzw. über das GUI ausgeführt werden entsteht beschriebenes Problem.
Hab den Debugger mal angesetzt und natürlich festgestellt, dass die Variable 'auswx' nicht im Speicher auftaucht.
Die beiden if-Schleifen sind in den letzten Versuchen garantiert erfüllt gewesen, da als Grenzen jeweils der Definitionsbereich angesetzt wurde.
Ich würde dennoch einen Breakpoint vor die erste Schleife setzten.
Sorry, wenn ich doofe Fragen stell. Hab nicht die ultimative Ahnung von Matlab. Was wäre denn dabei zu erwarten?
Zitat:
Wie sieht den dein Verusch mit der GUI bzw. m-File aus?
Im GUI ist ein PushButton. Im m-File ist es so hinterlegt, dass im Prinzip der gesamte Code ausgeführt wird wenn der PushButton betätigt wird.
Brauchst du noch mehr an Infos?
Kannst du den code posten wie du das aufrufst und wie dein Code mit der GUI einbindung aussieht? Ich glaube es könnte sein, dass er da mit den Workspaces durcheinander kommt.
_________________
Ansonsten seh ich da im Moment nichts, was mich direkt anspringt...
Sonst müsstest du mal ein lauffähiges Beispiel posten.
Oder jemand anders sieht da noch was.
_________________
Besten Dank. Die umgeschriebenen Schleifen haben mich gerettet, endlich tut das Programm was es soll.
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.