|
|
Maxima und Stellen finden |
|
Matlab.lab |
Forum-Fortgeschrittener
|
|
Beiträge: 65
|
|
|
|
Anmeldedatum: 07.09.09
|
|
|
|
Wohnort: Ulm HMS
|
|
|
|
Version: 2007 a
|
|
|
|
|
|
Verfasst am: 20.10.2009, 16:35
Titel: Maxima und Stellen finden
|
|
Hey Leute,
langsam verzweifel ich.. Jetzt versuch ich mir seit nem Monat, Simulink beizubringen, aber so recht.. klappt nicht.
Ich brauch einfach einen Aufbau, der mit von ner Funktion, die ich draufgeb, die Maxima (von mir aus über ner Schwelle) findet und die zugehörige Stelle ausgibt.
Kann mir da jemand helfen, ohne extra Toolboxen oder Speziallösungen, sondern nach Möglichkeit nur mit sehr einfachen Blocks oder Embedded Matlab Funktionen.. Ich weiß da echt nimmer weiter!!
Hab also ne eingelesene Funktion und dazu n ein monoton steigendes Zeitarray gemacht..
Lg
|
|
|
|
|
Fragewurm |
Forum-Century
|
|
Beiträge: 180
|
|
|
|
Anmeldedatum: 23.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 18:22
Titel:
|
|
Hi
Simulink ist schon lang her, aber hat Simulink nicht ein min/max Baustein
der genau das macht.
Gruss Fragewurm
|
|
|
Matlab.lab |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 65
|
|
|
|
Anmeldedatum: 07.09.09
|
|
|
|
Wohnort: Ulm HMS
|
|
|
|
Version: 2007 a
|
|
|
|
|
|
Verfasst am: 21.10.2009, 06:10
Titel:
|
|
Der min/max Baustein macht bei mir folgendes; ich geb mein Signal rein, je ein Sample wird eingelesen. Und von diesem einen Sample ist das Maximum eben der Wert selbst.. das macht also keinen Sinn.. Ich krieg zwar den Wert mit dem Maximum einigermaßen raus, aber die Stelle hab ich noch nie finden können - und das ist das große Problem!
|
|
|
Fragewurm |
Forum-Century
|
|
Beiträge: 180
|
|
|
|
Anmeldedatum: 23.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.10.2009, 06:28
Titel:
|
|
|
|
Matlab.lab |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 65
|
|
|
|
Anmeldedatum: 07.09.09
|
|
|
|
Wohnort: Ulm HMS
|
|
|
|
Version: 2007 a
|
|
|
|
|
|
Verfasst am: 21.10.2009, 06:42
Titel:
|
|
Hey
Also ein m-File dazu hab ich schon.. Ich versuch eher, in Simulink etwas nachzubauen, das der Matlab Lösung in etwa entspricht.
Problem ist z.b., dass ich in Matlab direkt das ganze Signale fertig da habe, und zwischen den 2 größten Maxima ein weiteres kleineres Maximum suchen muss.
Im Simulink aber wird ja eingelesen, und ich muss das kleinere Maximum schon haben, bevor das 2. große Maximum kommt..
Außerdem kann mein PIC nicht die Operationen, dies in Matlab gibt.. Elemente löschen, mit den Indexen rechnen usw..
Lg
|
|
|
Matlab.lab |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 65
|
|
|
|
Anmeldedatum: 07.09.09
|
|
|
|
Wohnort: Ulm HMS
|
|
|
|
Version: 2007 a
|
|
|
|
|
|
Verfasst am: 22.10.2009, 07:30
Titel:
|
|
irgendwer noch ne idee, wie ich auf den Index des eingelesenen Wertes zugreifen kann?
|
|
|
Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2009, 15:47
Titel:
|
|
Hi,
also ich hatte das Problem auch, ich musste ein Maximum aus einem Vektor in Simulink auslesen, was aber erst am Ende der Simulation Sinn machte
meine Lösung:
ich habe mir eine S-function erstellt (S-function-Block + aus dem Template sfuntmpl.m ). Da wird je nach Zeitpunkt in der Simulation(flag) ein anderer case bearbeitet. Wenn flag=9 ist, also am Ende der Simulation (und nur dann), wird der letzte case in dieser S-function bearbeitet.
dort habe ich dann mein max aus dem Vektor rausgefilter und mit
save maximum
in eine .mat-datei gespeichert. diese kann dann für weitere rechnungen verwendet werden.
PS: zur sfuntmpl.m kommt man aus commando-Fenster mit: edit sfuntmpl.m
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2009, 22:37
Titel:
|
|
Oder auch am ende der simulation
für nur den Maximalwert
für dessen index
|
|
|
tester |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.05.2010, 15:02
Titel: lösungen
|
|
hallo,
hast du das problem inzwischen gelöst? ich habe das gleiche problem und wäre an vorschlägen und lösungen interessiert.
Danke
|
|
|
LuizAranha |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 26.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.05.2010, 15:18
Titel:
|
|
Hallo Zusammen,
also maxima oder minima , oder sonstiges lassen sich mit am besten mit entweder dem Relational Operator lösen, oder Hit Crossing.
Beim Erreichen eines Gewissen funktionswert gibt es ein binäres High. Mit diesem Binär Signal kann man nun einen beliebigen Trigger setzen, der dann macht was man will. z.B. kann dann mit Sample and Hold Block dieses getriggerte maxima "gehalten" werden.
usw. und sofort
gruss luiz
|
|
|
Frau Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2015, 14:30
Titel:
|
|
Hallo zusammen,
ich habe ein ähnliches Problem. Möchte einfach nur den x-Wert eines Signals bei seinem Maximum in Simulink auslesen. Matlab function darf ich nicht verwenden und s Function läuft bei mir nicht.
Es ist bestimmt total simpel, ich sitze schon den ganzen Tag hier und bekomme es nicht hin.
Kann jemand helfen?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2015, 18:38
Titel:
|
|
Trau Dich ruhig, in Zukunft einen neuen Thread aufzumachen und lass die Toten in Frieden ruhen - ist deutlich übersichtlicher.
Dein Problem kannst Du mit einem min/max-Block, einem Mux-Block und einem Memoryblock lösen.
|
|
|
Frau Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.07.2015, 09:11
Titel:
|
|
Hey Epfi,
danke für deine Antwort aber so ganz verstehe ich das nicht, wie das funktionieren soll bzw. wie ich die Blöcke anordne. Ich hätte gerne die Zeit bei dem Maximum der Funktion und nicht das Maximum selbst. Habe mal ein Bild angehangen. Ich hätte gerne die Zeit beim Maximum der Kreuzkorrelation, um daraus auf die zeitliche Verschiebung der Eingangssignale schließen zu können.
Sorry, dass ich nochmal nachfragen muss aber ich stehe noch ganz am Anfang meiner Simulink-Karriere
Beschreibung: |
|
Download |
Dateiname: |
Maximum_bestimmen.png |
Dateigröße: |
8.6 KB |
Heruntergeladen: |
668 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|