ich erkläre mein Problem noch genauer
wenn ich button yes betätige dann soll die for schleife weiter machen
aber wenn ich die No betätige soll die for schleife zurück auf dem letzte wert von x, wo die gerade befindet
for z = 0:7
IDstr = mat2str(z+1);
IDstrr= mat2str(z);
uiwait(msgbox(['Schalten Sie bitte den analogen Eingang (AIN',IDstrr ,')'],'modal'))
StartRecording;
pause(1);
[t0, d0] = IncaGetRecords('Driver', '100ms', 10, 1, 1); % zeit und Messdaten an MATLAB übertragen
d(:,z+1) = d0(:, z+1)
MT_d0 = mean(d(:,z+1))% Mittelwert von einzelne spalten bilden
während die questdlg die message box ausgibt, wenn ich OK betätige soll die schleife weiter normal laufen
wenn ich auf No betätige soll die schleife zurück auf die letzte wert von z.
ich habe bei If -Anweisung diese befehl gemacht aber hat nicht geklapt
ich hoffe das jemand hier mir helfen kann
im Gegensatz zu anderen Programmiersprachen kannst du in Matlab nicht die Schleifenvariable innerhalb der for-Schleife verändern. Das steht so in der Hilfe:
Avoid assigning a value to the index variable within the loop statements. The for statement overrides any changes made to index within the loop.
Deshalb funktioniert das mit 'z = z - 1' nicht.
Vorschlag: Nutze eine while-Schleife:
Code:
z = 0;
while z < 7
z = z + 1;
if button == 0
z = z - 1;
end end
danke Tom für dein Antwort, ich habe versucht mit dein lösungsvorschlag hat nicht geklapt
aber so funktioniert, ich habe noch ein kleine Problem das die letzte messung steht die schleife bei der letzte messung wenn ich ja betätige wiederholt sich das Messagebox und wenn ich auf No betätige wiederholt auch die letzte messung
aber ich möchte dass Programm_code von der while-schleife raus kommt
Ich verstehe den geposteten Code nicht mehr. Woher kommt jetzt "for z = a:k"?
Wozu dient "x"?
Die Zeile "z=k" setzt wieder den Schleifen-Zähler der FOR-Schleife. Wie schon erklärt funktioniert das in Matlab nicht.
Der EVAL-Befehl ist sehr häßlich und sollte unbedingt vermieden werden, z.B.:
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.