|
|
Erste Nullstelle (Hochpunkt) finden und ausgeben |
|
roy58 |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 09.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.12.2013, 11:47
Titel: Erste Nullstelle (Hochpunkt) finden und ausgeben
|
|
Hallo,
ich bin noch Anfänger in Sachen MATLAB. Zu meiner Frage:
Ich habe folgende Kurve (siehe Anhang). Nun versuche ich von Anfang aus betrachtet, denjenigen Punkt zu finden, an dem die Kurve erstmals die Steigung =0 hat. Wie schaffe ich das in MATLAB zu programmieren? Habe es schon mit dem Befehl diff versucht, bin aber leider nicht weitergekommen. Wäre euch sehr dankbar, wenn ihr mir helfen könntet.
Gruß,
roy58
Beschreibung: |
|
Download |
Dateiname: |
kurve.JPG |
Dateigröße: |
26.34 KB |
Heruntergeladen: |
766 mal |
|
|
|
|
|
BlackDread |
Forum-Century
|
|
Beiträge: 212
|
|
|
|
Anmeldedatum: 11.05.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2015a
|
|
|
|
|
|
Verfasst am: 09.12.2013, 13:22
Titel:
|
|
Hallo roy58,
Zitat: |
Habe es schon mit dem Befehl diff versucht, bin aber leider nicht weitergekommen |
Warum bist du nicht weitergekommen? Wo lag/liegt das Problem?
Hast du versucht nach dem diff mit == 0 zu suchen? Das wird vermutlich nicht funktionieren, da eine Differenz von float-Zahlen niemals 0 geben wird. Hier musst du eher "Bereiche" eingeben ("<=" und ">=").
Welchen Hochpunkt suchst du denn? In deinem Plot sind sehr viele "Hochpunkte". Zum einen durch das Rauschen auf dem Signal und zum anderen ein paar weniger ausgeprägte.
Es gibt auf dem FEX ein paar Funktionen die ganz hilfreich sind.
http://www.mathworks.com/matlabcent.....9C%93&term=peakfinder
_________________
--> Kapieren statt Kopieren <---
____________________________________________________
FAQs sind dazu da, FAQs zu beantworten
Richtig fragen!
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 09.12.2013, 13:32
Titel: Re: Erste Nullstelle (Hochpunkt) finden und ausgeben
|
|
Hallo roy58,
Diese Kurve wird mit extrem hoher Wahrscheinlichkeit niemals die Steigung exakt gleich 0 haben. Sie scheint aus diskreten Messpunkten zu bestehen, wie möchtest Du dann "Steigung" überhaupt definieren? Dass zwei benachbarte Messpunkte den gleichen Wert haben ist dann ja noch nicht hinreichend im mathematischen Sinn.
Du könntest z.B. stückchenweise ein Polynom an die Messdaten fitten und von diesem dann die Nullstellen der Steigung bestimmen. Das wäre dann aber immer noch nicht eindeutig und die Wahl der Anzahl der Stützstellen wird auch die Position der Nullstellen beeinflussen.
Gruß, Jan
|
|
|
roy58 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 09.12.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2013, 13:22
Titel:
|
|
Hallo Leute,
vielen Dank für eure Hilfe. Hatte versucht den ersten Hochpunkt zu ermitteln nachdem der Anstieg am Anfang beendet wird, welchen y-Wert ich dann bekomme. Hab jetzt einfach mir das dementsprechende Intervall betrachtet und dort mit dem Befehl max den maximalen y-Wert bestimmt.
Ich hab aber eine andere Frage hoffe ihr könnt mir helfen
Unzwar habe ich jetzt ein y-Wert ermittelt und versuch den entsprechenden x-Wert dazu zu finden. Wie kann ich da Vorgehen. Ich weiß das ich nicht den exakten Wert finden kann aber so ein ungefährer Wert wird mir schon reichen. Wäre sehr dankbar wenn ihr mir auch diesbezüglich helfen könntet.
MfG
roy58
|
|
|
Olaf123456 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.12.2013, 22:23
Titel:
|
|
Hallo.
Ich glaube ich kann dir bei deinem Problem weiterhelfen.
Ich habe mir eine Funktion hierfuer geschrieben. Die kannst du bekommen.
Deine Daten sehen sehr ähnlich zu meinen aus. Darf ich fragen um welche Messwerte es sich handelt?
Gruß
Olaf
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.01.2014, 11:34
Titel:
|
|
Hallo,
es gibt auch Standardfunktionen für diesen Zweck:
Das entscheidende wird ein ausreichend guter Startpunkt sein. Bei fzero noch besser ist ein Intervall, bei dem ein x-Wert einen y-Wert größer als der gesuchte hat und der andere einen y-Wert kleiner als der gesuchte.
Grüße,
Harald
|
|
|
|
|
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 - 2025
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.
|
|