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

Werte auf eine Nachkomma-Stelle runden

 

atomPower
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 27.08.12
Wohnort: München
Version: 2007b
     Beitrag Verfasst am: 22.10.2012, 16:01     Titel: Werte auf eine Nachkomma-Stelle runden
  Antworten mit Zitat      
Hallo,

wie kann man in Simulink Werte runden? Z.B. 2.2 auf 2.0 und 2.3 auf 2.5 usw runden.
Das "Rounding Function"-Bauteil rundet ja nur auf eine ganze Zahl auf.

Hintergrund: ich möchte Druckverlauf analysieren in dem ich für Soll-Volumen Druckaufbauzeit messe, diese Werte dann in einer Look-up Tabelle hinterlegen um später Volumenänderung rauszufinden.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.10.2012, 19:05     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit ist, mit einem geeigneten Wert zu multiplizieren / durch einen geeigneten Wert zu teilen, dann zu runden, und danach die Operation umzukehren, z.B.
Code:


Das ist zumindest das, was ich unter "auf eine Nachkommastelle runden" verstehen würde. Du scheinst ja eher auf halbe (.0 bzw. .5) runden zu wollen?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 27.08.12
Wohnort: München
Version: 2007b
     Beitrag Verfasst am: 23.10.2012, 09:08     Titel:
  Antworten mit Zitat      
Danke für deine Antwort.

Das mit dem "eine Nachkommastelle" war nicht ganz richtig formuliert, deswegen dann auch eine kurze Erklärung mit 2.2 und 2.3 Smile

Code:

round(Wert*10)/10
 

Habe ich ausprobiert in Simulink nachzubauen (Wert *10, dann Rounding Function, dann durch 10), aber es kommt dann das gleiche wie an Eingang raus.

Gibt es da eine andere Möglichkeit? Ich brauche 0.5 Schritte (2, 2.5 ,...)
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 23.10.2012, 09:16     Titel:
  Antworten mit Zitat      
Hallo,

wenn man bel. Schritte definieren will, muss man die Modulo-Funktion verwenden.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

das Beispiel war für das tatsächliche Runden auf eine Nachkommastelle.
Dass das gleiche wie am Eingang herauskommt, sollte nur bei Werten zutreffen, die ohnehin nur eine Nachkommastelle haben.

Anpassung an deine Rundungswünsche:
Code:


Das liefert zumindest bei deinen Beispielen die gewünschten Ergebnisse:
Code:
round(2.3*2)/2
round(2.2*2)/2


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 27.08.12
Wohnort: München
Version: 2007b
     Beitrag Verfasst am: 23.10.2012, 11:44     Titel:
  Antworten mit Zitat      
Vielen, vielen Dank!

Das ist das, was ich gebraucht habe!
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.