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

Goto

 

Achi
Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 23.08.2010, 14:20     Titel: Goto
  Antworten mit Zitat      
Hi,

gibt es irgendwie eine Möglichkeit bei einer Parameterabfrage was einzubauen, dass mein Programm so lange nachfragt bis ein vernünftiger Parameter eingegeben wurde?
Mir ist klar, dass ich die Bedingungen selbst einstellen muss. Ich habe an sowas wie goto gedacht...
If x<0
goto (zurueck)

Danke
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Helmert
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 23.08.2010, 15:52     Titel:
  Antworten mit Zitat      
Ich löse sowas immer in der Art:
Code:

while true
  % Parameterabrage
  if x>=0
    break;
  end
end
 

oder:
Code:

x=-1
while x<0
  % Parameterabfrage
end
 

Sicher geht es auch noch eleganter ...
Private Nachricht senden Benutzer-Profile anzeigen
 
yankemen
Forum-Century

Forum-Century


Beiträge: 104
Anmeldedatum: 14.04.10
Wohnort: ---
Version: 32: 2008a & 2010a
     Beitrag Verfasst am: 23.08.2010, 15:53     Titel:
  Antworten mit Zitat      
Moin Achi,

am ehesten scheint sich eine while-Schleife anzubieten:
Code:
while true
% check auf Sinnhaftigkeit
    if machtSinn
        break;
    end
end


HTH,
yankemen
_________________

Code:
% Kommentare brauchen ein Leerzeichen nach dem %
Gibt es ein Ist und ein Wunsch-Soll? Gibt es Beispiele zum Durchprobieren? Wenn selbstgeschriebene Funktionen aufgerufen werden: können sie bitte angehangen werden? Gab es Fehlermeldungen?
Stimmen die Werte, wenn der Debugger mit Haltepunkten etc. eingesetzt wird?
Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 23.08.2010, 16:23     Titel:
  Antworten mit Zitat      
Hab auch mal versucht:
Code:


s=input('bitte geben sie zahl größer bzw. gleich 1 ein ')
if s<1
    if ischar(s)
        disp(' Sie haben einen Buchstaben eingegeben ')
        return
    end
    disp('die Zahl war kleiner als 1')
end


aber so springt es mir ja nicht wieder zu: bitte geben sie ien zahl ein?
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
yankemen
Forum-Century

Forum-Century


Beiträge: 104
Anmeldedatum: 14.04.10
Wohnort: ---
Version: 32: 2008a & 2010a
     Beitrag Verfasst am: 23.08.2010, 16:54     Titel:
  Antworten mit Zitat      
Moin Achi,

das liegt daran, dass der Code der Reihe nach abgearbeitet wird. Und wenn Code mehrmals ausgeführt werden soll, dann muss dieser durch eine Schleife ummantelt werden.
Code:
while true % so ist es eine Endlos-Schleife und kann nur bei erreichen von break verlassen werden.
    s=input('bitte geben sie zahl größer bzw. gleich 1 ein ')
    if ischar(s)
        disp('Sie haben einen Buchstaben eingegeben. ');
    elseif s < 1
        disp('die Zahl war kleiner als 1') ;
    else
        break; % jetzt ist die Zahl größer eins.
    end
end


HTH, yankemen
_________________

Code:
% Kommentare brauchen ein Leerzeichen nach dem %
Gibt es ein Ist und ein Wunsch-Soll? Gibt es Beispiele zum Durchprobieren? Wenn selbstgeschriebene Funktionen aufgerufen werden: können sie bitte angehangen werden? Gab es Fehlermeldungen?
Stimmen die Werte, wenn der Debugger mit Haltepunkten etc. eingesetzt wird?
Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Achi
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 250
Anmeldedatum: 14.04.10
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 23.08.2010, 16:59     Titel:
  Antworten mit Zitat      
Besten Dank
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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 - 2025 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.