WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Stoppbefehl in for schleife

 

kev-man
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 18:23     Titel: Stoppbefehl in for schleife
  Antworten mit Zitat      
Hallo,

ich würde gerne wissen ob es für eine for Schleife eine Art Stoppbefehl gibt. Ich will in einer GUI 4 verschiedene Werte Einlesen lassen, geht auch, jedoch will ich das die werte in ein Array geschrieben werden. Das heisst nach Eingabe soll der Anwender in genau die selbe GUI und Felder neue werte eingibt die dann in die nächste Spalte geschrieben wird. Das ist der code:

function pushbutton1_Callback(hObject, eventdata, handles)

i=1;

for i=1:3

SV(i,1)=(str2num(get(handles.edit1,'string')));
SV(i,2)=(str2num(get(handles.edit2,'string')));
SV(i,3)=(str2num(get(handles.edit3,'string')));
SV(i,4)=(str2num(get(handles.edit4,'string')));
i=i+1
end

xlswrite('matrix.xls', SV)

Jedoch lässt mich Matlab nur einmal die Werte eingeben und schreibt dann die gleichen Werte 3 mal in den Array. Ich Will Aber immer verschiedene Werte haben.
Löungen? Very Happy
Danke im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.02.2008, 19:25     Titel:
  Antworten mit Zitat      
Hallo,
Eine Schleife kann mit break-Befehl abgebrochen werden.

Aber, wenn ich dein Ziel richtig verstanden habe, dann ist die Schleife an der Stelle überflüssig.
Vielleicht hilft es wenn du die Werte erst in gui handles abspeicherst:

Code:

function pushbutton1_Callback(hObject, eventdata, handles)

% überprüfe, ob zähler existiert
 % wenn jahole die Zählerstand
if isfield(handles.myCounter)
   i=handles.myCounter;
else
   i=1;
end
%
%Überprüfe, ob Array mit Werte schon existiert
if isfield(handles.SV
   SV=handles.SV;
end
SV(i,1)=(str2num(get(handles.edit1,'string')));
SV(i,2)=(str2num(get(handles.edit2,'string')));
SV(i,3)=(str2num(get(handles.edit3,'string')));
SV(i,4)=(str2num(get(handles.edit4,'string')));
i=i+1;

% speichere in handles
handles.myCounter=i;
handles.SV=SV;
%
% hier unbedingt den Namen von Figure eingeben.
guidata(handles.MyFigureName, handles);

 



Oder dir einfach überlegst die Eingabe komplett zu überarbeiten
Private Nachricht senden Benutzer-Profile anzeigen
 
kev-man
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 20:43     Titel:
  Antworten mit Zitat      
bekomm ne Fehlermeldung:

??? Reference to non-existent field 'myCounter'.

Error in ==> gelenk>pushbutton1_Callback at 101
if isfield(handles.myCounter)

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> gelenk at 17
gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.02.2008, 20:57     Titel:
  Antworten mit Zitat      
Embarassed sorry, hab falsch geschrieben, so sollte es sein
Code:


if isfield(handles,'myCounter')
   i=handles.myCounter;
else
   i=1;
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
kev-man
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 21:16     Titel:
  Antworten mit Zitat      
letztw fehlermeldung :

Error in ==> gelenk>pushbutton1_Callback at 122
guidata(handles.gelenk, handles);

welche syntax muss ich da für myfiguredata nemen?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.02.2008, 21:28     Titel:
  Antworten mit Zitat      
da solltest du den Tag-Namen von deinem Figure eingeben. Ich kenne es leider nicht.


oder nutz einfach Befehl gcf für zuletzt aktives Fenster

Code:

   guidata(gcf, handles)
 


Apropos den Tag-Name kannst auch in der Konsole rausfinden

einfach get(gcf, 'Tag') eigeben
Private Nachricht senden Benutzer-Profile anzeigen
 
kev-man
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 19.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2008, 21:38     Titel:
  Antworten mit Zitat      
es geht Smile. DANKÖÖÖÖÖ
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.