Simulink: Wert auslesen

Gast #3795260
Hallo,



Im Anhang findet man ein Bild.
Wie kann man den X_Achse-Wert(Zeit) in Simulink auslesen,wenn der größte 
Y_Achse-Wert auftritt?

Also, interessiere mich den blauen Punkt im Diagram.Zu dieser Zeit ist 
der Y-Wert max.

Gibt's einen Block in Simulink, der das tut?

Danke im Voraus.

JEL
Angehängte Dateien:
Hi,

soll das eine Echtzeit Simulation werden, oder simulierst du so schnell 
wie möglicht? Kannst du das Simulierte speichern (z.B. mit dem scope 
oder dem to workspace block)? Wenn ja ist das doch einfach nur das 
Maximum. Die Zeit steht sogar automatisch mit in dem gespeicherten 
Vektor.

Wenn du nicht speichern kannst, musst du eine embedded matlab function 
oder sowas benutzen und immer den aktuellen Wert mit dem davor 
vergleichen. Ist der aktuelle größer, könnte dies das Maximum sein. 
Sonst nicht. Es gibt eine Uhr (clock, guck bei sources), die gibt dir 
die aktuelle Simulationszeit an. Damit könntest du dir was zusammen 
basteln.

Ganz vielleicht so grob:
1
function [maxValOut, maxTimeOut] = calcMax(currentVal,currentTime)
2
persistent maxVal
3
persistent maxTime
4

5
if(isempty(lastVal))
6
   maxVal = -inf;
7
   maxTime = 0;
8
end
9

10
if(val > maxVal) % aktueller messwert ist größer, als alles andere bisher, könnte also das maximum sein
11
  maxVal = currentVal;
12
  maxTime = currentTime;
13
end
14

15
maxValOut = maxVal; % zuweisen, weil es glaub' ich nicht geht, persistente Variablen zurückzugeben
16
maxTimeOut = maxTime
17
end

edit:

du kannst natürlich auch alles nur mit "fertigen" Blöcken bauen. Es gibt 
einen max block und es gibt triggered subsystems und logische 
Verknüpfungen, damit kann man auch fix was zusammen klicken

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.