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

Punkt auf einer horizontaler Linie verschieben

 

xy12345
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2021, 17:22     Titel: Punkt auf einer horizontaler Linie verschieben
  Antworten mit Zitat      
Hallo liebe gomatlab Gemeinde,

ich habe ein Programm, das immer den maximalen Punkt bestimmt von Zahlenwerten. Manchmal liegt dieser Punkt auf einem Plateau und sollte an dem Fall am Ende dieses Plateaus liegen im besten fallen. Wie kann ich dafür sorgen, dass der bestimmte Punkt automatisch ans Ende geschoben wird bis die Werte wieder fallen?


Um das ganze besser zu verstehen, habe ich eine Skizze angehängt.

Viele Grüße

gruenepkt.PNG
 Beschreibung:

Download
 Dateiname:  gruenepkt.PNG
 Dateigröße:  1.77 KB
 Heruntergeladen:  205 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.08.2021, 09:36     Titel:
  Antworten mit Zitat      
Hallo,

ich würde mich auf die hinter der Graphik liegenden Zahlen statt die Graphik an sich konzentrieren. Die Frage ist, wie man das "Ende des Plateaus" in eine logische Bedingung fassen kann.
Eine Möglichkeit:
Code:
maxY = max(y);
endPlateau = x(find(y >= maxY - tol, 1, 'last') );


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
xy12345
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2021, 17:26     Titel:
  Antworten mit Zitat      
Danke! Könnte ich das ganze auch mit movmean realisieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.08.2021, 18:23     Titel:
  Antworten mit Zitat      
Hallo,

mit movmean werden Schwankungen zwar geringer, aber sie sind dennoch da. Ich sehe also nicht, wie das weiterhelfen soll. Funktioniert denn der Ansatz soweit?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
xy12345
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2021, 10:03     Titel:
  Antworten mit Zitat      
Ja, es funktioniert bedingt.

Mir ist aufgefallen, dass ich dadruch das Problem nur so halb löse. Ich brauche eher eine Funtkion, die ein anderes Signal für eine bestimmte Datenmenge (im besten Fall so lange wie das Plateau) um den grünen Punkt ignoriert oder glättet. Bisher habe ich es mit einer KOmbination aus if any und einem Schwellwert probiert.

Bis jetzt schwebt mir so was vor wie smoothdata oder movmean oder liege ich damit komplett falsch?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Ja, es funktioniert bedingt.

Wann funktioniert es nicht, und welche Probleme gibt es dann?

welches andere Signal?

Zitat:
(im besten Fall so lange wie das Plateau)

Dazu musst du aber ja den Bereich des Plateaus bestimmen, und dann ist das Problem doch ohnehin schon gelöst?

Zitat:
Bisher habe ich es mit einer KOmbination aus if any und einem Schwellwert probiert.

Was genau? Welche Probleme bestehen bei diesem Ansatz?

Zitat:
Bis jetzt schwebt mir so was vor wie smoothdata oder movmean oder liege ich damit komplett falsch?

Ich kann dazu nur das sagen, was ich schon in der vorherigen Antwort geschrieben habe.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
xy12345
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2021, 18:15     Titel:
  Antworten mit Zitat      
Es gibt noch ein anderes Signal, was ich beim ersten Bild ausgeblendet habe. Wenn es vorkommt, dient es als Ausschlusskriterium. Manchmal hat es aber keine Auswirkung auf das blaue Signal, dann muss ich praktisch mir eine andere Regelung überlegen, weil diesen Datensatz will ich behalten.

Der rote Datensatz lässt sich schwer "einschätzen", also ich tue mir schwer eine Regel abzuleiten daraus.Es ist für viele Datensätze ähnlich, aber nicht vergleichbar. Bisher arbeite ich mit zwei Schwellwerten (je nach dem wie lang oder kurz das rote Signal ist ), das funktioniert bedingt. Daher habe ich überlegt einzelne Daten manuell zu bereinigen. Da müsste ich nochmal nachgucken wie das funktioniert.

Eine weitere Idee wäre eine Regelung aufstellen,dass das rote Signal bezogen auf den grünen Punkt immer in manuell bestimmten Bereichen ignoriert.

Ich hoffe, dass ist soweit verständlich.

gruenerpkt.PNG
 Beschreibung:

Download
 Dateiname:  gruenerpkt.PNG
 Dateigröße:  3.91 KB
 Heruntergeladen:  196 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.08.2021, 09:03     Titel:
  Antworten mit Zitat      
Hallo,

leider habe ich mehr Fragen als Antworten.
Am Anfang war mir die Fragestellung klar. Bei dem jetzigen Signal wäre höchstens die Frage: was soll passieren, wenn das Maximum deutlich über dem Plateau liegt? Soll dann das Maximum markiert werden oder das Ende des Plateaus?

Zitat:
Wenn es vorkommt, dient es als Ausschlusskriterium.

Heißt was genau?

Zitat:
Manchmal hat es aber keine Auswirkung auf das blaue Signal

Wie entscheidest du das?

Zitat:
weil diesen Datensatz will ich behalten.

den blauen Datensatz? Oder einen Teil davon? Wenn letzteres, welchen?

Zitat:
Der rote Datensatz lässt sich schwer "einschätzen", also ich tue mir schwer eine Regel abzuleiten daraus.

Das geht mir genauso. Mir ist nicht mal klar, welche Rolle der rote Datensatz hier überhaupt spielt.

Zitat:
Bisher arbeite ich mit zwei Schwellwerten (je nach dem wie lang oder kurz das rote Signal ist ), das funktioniert bedingt.

Bitte poste den zugehörigen Code und beschreibe genau, was daran funktioniert und vor allem was daran nicht funktioniert.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.