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

benutzerdefiniertes Wechseln des Schleifenindexes

 

Opopanax
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 29.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2012, 15:04     Titel: benutzerdefiniertes Wechseln des Schleifenindexes
  Antworten mit Zitat      
Ich hoffe das Thema wurde nicht schon einmal durchdiskutiert, habe bisher nichts gefunden.

Meine Frage ist die folgende: Ich hab eine Schleife, bei dem ich einen gewissen Wert variieren lasse. Wichtig für mich ist, dass nach einem Schleifendurchgang ich über einen Impuls/sonstiges Signal den nächsten Schleifendurchgang aktivieren kann, und dieser nicht von selbst wechselt.

(Ich programmiere einen Frequenzgangmesser mit einer Auswertung in Simulink und einer Steuerung über ein Matlabskript. Zudem möchte ich die Frequenzen über eine Schleife im Matlabskript variieren und muss jeweils in einem Schleifendurchgang warten, bis sich das System eingependelt hat und mir danach das Simulinkprogramm die Amplitude und die Phasenverschiebung zurück gibt. Erst danach kann ich die nächste Frequenz (Schleifendurchgang) auswerten.)

Ist dies in Matlab überhaupt möglich, oder muss ich mir eine Alternative zur Schleife in Matlab suchen?

Grüsse aus der Schweiz

Opo
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2012, 15:10     Titel:
  Antworten mit Zitat      
Hallo,

hört sich nach einem Fall für eine while-Schleife an.
Über eine if-Abfrage kannst du dann steuern, ob du in die nächste Iteration willst oder nicht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Opopanax
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 29.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2012, 15:22     Titel:
  Antworten mit Zitat      
Habe gerade gesehen, dass der Befehl "continue" quasi in die nächste Iteration springt.

Die Frage ist nun, wenn während dem ich in einem Iterationsschritt auf meine Resultate warte, das System nicht schon durch meine if-Bedingung hindurchfährt, diese als nicht erfüllt befindet und schon mit dem nächsten Iterationsschritt beginnt.

Kann ich das über eine Schleife um die If-Bedingung unterbinden? Aus meiner Sicht sollte dies mit einer while-Schleife funktionieren....
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2012, 15:32     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
während dem ich in einem Iterationsschritt auf meine Resultate warte

Wenn du mit dem sim-Befehl simulierst, wird doch die Code-Ausführung ohnehin nicht fortgesetzt, bis die Simulation abgeschlossen ist?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Opopanax
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 29.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2012, 16:08     Titel:
  Antworten mit Zitat      
Ja, das stimmt, da habe ich einen Überlegungsfehler gemacht. Respektive, ich kann es einfacher lösen, als ich eigentlich wollte.

Aber es ist richtig, dass ich mit dem Befehl 'continue' von einem Iterationsschritt in den nächsten wechseln kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.11.2012, 16:54     Titel:
  Antworten mit Zitat      
Hallo,

würde ich sagen, ja. So steht's ja auch in der Doku.
Im Zweifel hilft auch ausprobieren :)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Opopanax
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 29.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2012, 18:11     Titel:
  Antworten mit Zitat      
Vielen Dank für die Hilfe ^^

Ich habe zwar das Problem anders gelöst, aber die Hilfe hier war essentiell für das Verständnis meiner Fehlüberlegung.

Grüsse Opo
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 - 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.