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

Dringend: Wert merken und nutzen bis Zeit abgelaufen

 

Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 10:47     Titel: Dringend: Wert merken und nutzen bis Zeit abgelaufen
  Antworten mit Zitat      
Hallo,

ich berechne mir einen Wert indem ich per tapped delay Block, jeweils die letzten 1000 Werte nehme und den Durchschnitt bilde.

Wenn der Durchschnitt einen bestimmten Wert unterschreitet, so soll dieser Wert gemerkt werden und erst nach 120 simulierten Sekunden wieder geprüft werden, ob der Wert weiterhin unter dem Grenzwert liegt...

Was kann ich tun`? Es eilt wirklich sehr...


VIELEN DANK SCHON MAL
Private Nachricht senden Benutzer-Profile anzeigen


Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 11:50     Titel:
  Antworten mit Zitat      
naja mit einem rückgekoppelten 1/z Block kannst du ja ein Wert erhalten.
Dann noch ein reset und ein external IC und du kannst per trigger einen neuen Wert rein schreiben, der dann wieder bis zum nächsten Trigger anliegt.

Gruß Lord nibbler
 
Zenon
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2010, 15:22     Titel:
  Antworten mit Zitat      
Kannst Du das mal schnell zusammen klicken? Ich checks nicht ganz sry...
Private Nachricht senden Benutzer-Profile anzeigen
 
maestro.m
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.06.2010, 13:41     Titel:
  Antworten mit Zitat      
Hallo,

hast du zu dieser Frage schon eine antwort?

ich habe ein ähnliches Problem und zwar möchte ich dass sich ein block einen Wert solange merkt bis eine bestimmte grenze überschritten ist

also im prinzip wird ständig abgetastet und ein wert gemerkt. Wenn der nächste wert + - 10% ist soll der vorherige werte beibehalten werden wenn er außerhalb dieser spanne ist, soll der neue wert gespeichert werden usw...
wie mache ich das?
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2010, 09:26     Titel:
  Antworten mit Zitat      
Hier mal schnell zusammengeklickt.

Der obere manual switch ist für den Trigger, der untere für das zu behaltende signal.

Gruß Lord nibbler

untitled.mdl
 Beschreibung:

Download
 Dateiname:  untitled.mdl
 Dateigröße:  23.48 KB
 Heruntergeladen:  710 mal
 
maestro.m
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2010, 22:57     Titel:
  Antworten mit Zitat      
vielen dank für die Antwort... ich verstehe die lösung leider nicht so ganz, wenn du mir da noch ein wenig unter meiner virtuellen arme greifen könntest...

und zwar habe ich beispielsweise einen sinus und eine rampe als eingang. nun möchte ich, dass der erste wert so lange gehalten wird bis dieser um 10% über- oder unterschritten wird; wenn dies der fall ist wird der neue wert genommen und wiederum mit den nachfolgenden werten verglichen. Falls dieser wert wieder unteR/überschritten wird, wird der neue wert genommen usw...

bei dem bodell welches du erstellt hast muss ich von hand umswitchen?!

wenn du mir das bsp auf einen sinussignal als eingang übertragen könntest...

sorry würde meine simulink kenntnisse als sehr gering einstufen Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 08:33     Titel:
  Antworten mit Zitat      
Also

In deinem Fall ist der Trigger : (abs(Ausgangssignal - Sinussignal)/Ausgangssignal) > 0.1
Und das Eingangssignal der sinus.
Das kannst du alles schön in simulink darstellen. Wozu du jetzt die rampe brauchst wurde mir nicht klar

Gruß Lord nibbler
 
maestro.m
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 17:21     Titel:
  Antworten mit Zitat      
danke nochmals für deine mühe...

so hatte ich es auch gestern versucht, als ich aber ständig eine fehlermeldung bekommen habe dachte ich da wäre etwas nicht in ordnung..
lade die .mdl file so wie ich es jetzt habe mal hoch

untitled.mdl
 Beschreibung:
MDL

Download
 Dateiname:  untitled.mdl
 Dateigröße:  24.08 KB
 Heruntergeladen:  603 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2010, 08:11     Titel:
  Antworten mit Zitat      
Hallo,

also du solltest als solver discrete einstellen und eine vernünftige samplezeit einstellen. ausserdem mag ich den fcn-block nicht.
Dann musst du noch aufpassen, dass du kein algebraic loop bekommst, daher der 1/z-Block für das gehaltene signal.
Ich hab das mal schnell zusammen geklickt.

Gruß Lord nibbler

untitled.mdl
 Beschreibung:

Download
 Dateiname:  untitled.mdl
 Dateigröße:  26.61 KB
 Heruntergeladen:  584 mal
 
maestro.m
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2010, 14:01     Titel:
  Antworten mit Zitat      
vielen dank lord...

eine andere frage, wieso magst du denn fcn block nicht?
ich habe auch schon oft gehört dass vom embedded matlab function abgeraten wird. was ist denn der genauere hintergrund?
oder ist das nur geschmackssache

und danke nochmal, funktioniert genau wie gehofft
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2010, 09:16     Titel:
  Antworten mit Zitat      
simulink ist eine graphische signalflussorientierte Programmiersprache, dass macht mir der Fcn-Block kaputt. Ausserdem kann ich Zwischenergebnisse nicht in Scopes anschauen oder anderweitig verwenden. Aus meiner Sicht immer besser ist ein Subsystem mit Standard-Simulinkblöcken. Gleiche Übersichtlichkeit auf höherer Ebene voller Zugriff auf alle Zwischengrößen in unterer Ebene.

Gruß Lord nibbler
 
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.