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

Maxima und Stellen finden

 

Matlab.lab
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 07.09.09
Wohnort: Ulm HMS
Version: 2007 a
     Beitrag Verfasst am: 20.10.2009, 16:35     Titel: Maxima und Stellen finden
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2009, 18:22     Titel:
  Antworten mit Zitat      
Hi
Simulink ist schon lang her, aber hat Simulink nicht ein min/max Baustein
der genau das macht.

Gruss Fragewurm
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab.lab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 07.09.09
Wohnort: Ulm HMS
Version: 2007 a
     Beitrag Verfasst am: 21.10.2009, 06:10     Titel:
  Antworten mit Zitat      
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!
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2009, 06:28     Titel:
  Antworten mit Zitat      
Hi
warum schreibst du Dir nicht einfach ein M-File welches die Aufgabe
löst und bindest das dann in Simulink ein.

Info zum einbinden => http://www.gomatlab.de/m-file-aufrufen-aus-simulink-t544.html

Gruss Fragewurm
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab.lab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 07.09.09
Wohnort: Ulm HMS
Version: 2007 a
     Beitrag Verfasst am: 21.10.2009, 06:42     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab.lab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 65
Anmeldedatum: 07.09.09
Wohnort: Ulm HMS
Version: 2007 a
     Beitrag Verfasst am: 22.10.2009, 07:30     Titel:
  Antworten mit Zitat      
irgendwer noch ne idee, wie ich auf den Index des eingelesenen Wertes zugreifen kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2009, 15:47     Titel:
  Antworten mit Zitat      
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: ---
     Beitrag Verfasst am: 25.11.2009, 22:37     Titel:
  Antworten mit Zitat      
Oder auch am ende der simulation

für nur den Maximalwert
Code:

für dessen index
Code:
 
tester

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 15:02     Titel: lösungen
  Antworten mit Zitat      
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

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 15:18     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Frau Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2015, 14:30     Titel:
  Antworten mit Zitat      
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

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2015, 18:38     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Frau Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2015, 09:11     Titel:
  Antworten mit Zitat      
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 Smile

Maximum_bestimmen.png
 Beschreibung:

Download
 Dateiname:  Maximum_bestimmen.png
 Dateigröße:  8.6 KB
 Heruntergeladen:  668 mal
 
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.