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

While Schleife

 

jeenda
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2012, 07:32     Titel: While Schleife
  Antworten mit Zitat      
Hallo zusammen,

ich würde gerne wissen ob ich einen zusätzliche Variable definieren muss um einen errechneten Wert mit aktuellen Wert zu vergleichen!

Folgendes Problem.
Ich habe eine Funktion (bsp.)

a = b*m

wobei m vorgegeben ist (m=2). Nun habe ich auch a vorgegeben mit 24,75 aber b darf nur ganzzahlig sein. Also muss ich ja solange iterieren bis ich diese Bedingung erfüllt habe bzw. bis die Genauigkeit bis auf viernachkommastellen erfüllt ist.

Ich bin neu und habe keinerlei Ahnung Confused

Ich dachte an folgendes:
Code:

n = 0; a =24.75; m =2

while bedingung????
   n = n + 1;
       if n > 100
              disp ('Abbruch nach 100 Iterationen')
              break;
      end
   a = b * m;
   round(b);
end


Aber ich weiß nicht was ich als Bedingung angeben soll bzw. ob das überhaupt soo der beste Weg ist.. Crying or Very sad

Danke Vielmals schon mal im Vorraus
Private Nachricht senden Benutzer-Profile anzeigen


Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 06.07.2012, 07:51     Titel:
  Antworten mit Zitat      
Hey,

also die Formel:

a=b*m;

ergibt hier nicht wirklich viel Sinn, da du ja b berechnen willst und a bereits kennst.
Willst du einfach sobald der Wert für a erreicht ist bzw. überschritten ist die Schleife beenden oder?

Code:

b=0;
actual_a=0;
m=2;
while actual_a < a
b=b+1;
actual_a=b*m
end
 


Sieht zwar nicht schön aus, aber macht es Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Seer
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 23.04.12
Wohnort: ---
Version: 7.14.0.739
     Beitrag Verfasst am: 06.07.2012, 08:33     Titel:
  Antworten mit Zitat      
Was genau willst du iterieren? a oder m? Grundsätzlich ist eine while Schleife hier nicht verkehrt. Eine einfache Abbruchbedingunge ist zu überprüfen, ob sich ein Wert nach einigen Iterationen nicht mehr ändert (bzw. nur noch sehr wenig). Dazu könntest du den Wert jeweils mit dem Ergebnis des letzten Durchlaufs vergleichen und wenn der Unterschied kleiner als dein zulässiger Fehler ist abbrechen.
Private Nachricht senden Benutzer-Profile anzeigen
 
jeenda
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2012, 10:12     Titel:
  Antworten mit Zitat      
ich will das errechnete b runden, dann das a angleichen bei konstantem m sodass die Formel ihre Gültigkeit nicht verliert. Confused
Private Nachricht senden Benutzer-Profile anzeigen
 
Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 06.07.2012, 10:24     Titel:
  Antworten mit Zitat      
wenn du b rundest und mit einer ganzen Zahl m multiplizierst, dann wirst du nie eine Komma- Zahl erhalten.
Daraus folgt aber auch, dass deine Formel ungültig wird, weil du hier nicht auf die Gleichheit (=) kommen wirst.
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.