Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Mathematik und Physik ::  Funktion zur Kurve finden  
Gehen Sie zu Seite Zurück  1, 2, 3  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Andromeda
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.12.2006
Beiträge: 2021
Beitrag Andromeda Mitglied 12:30:50 18.03.2017   Titel:              Zitieren

mathedepp schrieb:

Wären die Daten einer simple Sinuskurve, dann möchte ich keine Kontrollpunkte, sondern eine Funktion (sin), eine Amplitude, eine Frequenz und einen Offset. Wie finde ich heraus, dass es eine Sinuskurve ist?

Punkte plotten und angucken. Wenn es aussieht wie Sinus, dann nimm Sinus. Das kannst du besser als dein Computer. ;)

_________________
My Browser User Agent String is Mozilla/5.0 (X11; SunOS i86pc; rv:10.0.6) Gecko/20100101 Firefox/10.0.6
mathedepp
Unregistrierter




Beitrag mathedepp Unregistrierter 12:39:47 18.03.2017   Titel:              Zitieren

Oh, genial. Das ist ja die ultimative Lösung für alles. Warum programmieren, wenn man auch einfach mal hingucken kann? Sogar CAPTCHAS lassen sich damit lösen. Einfach sechzig Millionen Chinesen einstellen, gibt ja genug davon. :rolleyes:
Andromeda
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.12.2006
Beiträge: 2021
Beitrag Andromeda Mitglied 12:44:11 18.03.2017   Titel:              Zitieren

mathedepp schrieb:
Oh, genial. Das ist ja die ultimative Lösung für alles. Warum programmieren, wenn man auch einfach mal hingucken kann? Sogar CAPTCHAS lassen sich damit lösen. Einfach sechzig Millionen Chinesen einstellen, gibt ja genug davon. :rolleyes:


Ja, was du suchst ist eigentlich eine Mustererkennung. :)

_________________
My Browser User Agent String is Mozilla/5.0 (X11; SunOS i86pc; rv:10.0.6) Gecko/20100101 Firefox/10.0.6
mathedepp
Unregistrierter




Beitrag mathedepp Unregistrierter 12:55:52 18.03.2017   Titel:              Zitieren

...wir sind immer noch am Ausgangspunkt, nur dass die Kurve jetzt "Muster" heißt.

Vielleicht jemand mit einer brauchbaren Antwort?
Jodocus
Mitglied

Benutzerprofil
Anmeldungsdatum: 06.12.2010
Beiträge: 1402
Beitrag Jodocus Mitglied 13:07:06 18.03.2017   Titel:              Zitieren

Du stellst zwei Anforderungen: Erstens: die Funktion muss durch alle Stützpunkte gehen. Zweitens: Sie soll symbolisch möglichst "kompakt" sein. Ersteres erfüllt jedes Interpolationspolynom. Letzteres musst du erst mal sauber definieren. Die einzige Möglichkeit, die ich noch sehe, ist, dass du einen Katalog an Funktionen mit variablen Parametern vorbereitest, die du als "kompakt" charakterisierst und entsprechend versuchst, deine Kurvenparameter an die Daten zu fitten. Das setzt aber schon etwas Wissen darüber voraus, wie die Kurven ausschauen werden.

_________________
Quak


Zuletzt bearbeitet von Jodocus am 13:07:59 18.03.2017, insgesamt 1-mal bearbeitet
SeppJ
Global Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 28211
Beitrag SeppJ Global Moderator 13:07:37 18.03.2017   Titel:              Zitieren

Kommunikationsproblem. Andromeda beantwortet deine Frage, als hätte sie ein Mathematiker gestellt, der den mathematischen Funktionsbegriff meint. Du meinst aber irgendeinen nebulösen Funktionsbegriff, wie sich vielleicht ein absoluter Mathedepp vorstellt, was "Funktion" bedeutet. Du solltest Andromeda nicht vorwerfen, dass du dich nicht mathematisch korrekt auszudrücken vermagst, ganz besonders nicht in dem Tonfall. Da dir anscheinend das Wissen fehlt, deine Wünsche genau auszudrücken, versuch es doch einmal mit ein paar ganz konkreten Beispielen, was du möchtest und was nicht.

_________________
Korrekte Rechtschreibung und Grammatik sind das sprachliche Äquivalent zu einer Dusche und gepflegter Kleidung.
mathedepp
Unregistrierter




Beitrag mathedepp Unregistrierter 13:19:53 18.03.2017   Titel:              Zitieren

Zitat:
Du meinst aber irgendeinen nebulösen Funktionsbegriff, wie sich vielleicht ein absoluter Mathedepp vorstellt, was "Funktion" bedeutet.

Funktion: Abbildung von Eingabe- zu Ausgabewerten. Ziemlich einfach.

Zitat:
Du solltest Andromeda nicht vorwerfen, dass du dich nicht mathematisch korrekt auszudrücken vermagst, ganz besonders nicht in dem Tonfall.

Hier gibt es keinen Tonfall, und Vorwürfe bis gerade eben auch nicht. Ich stelle die Frage so korrekt, wie es mir möglich ist, und habe mich für die Ungenauigkeiten sogar entschuldigt. "Einfach mal hingucken" ist halt eine beschissene Antwort, oder etwa nicht?

Zitat:
Da dir anscheinend das Wissen fehlt, deine Wünsche genau auszudrücken, versuch es doch einmal mit ein paar ganz konkreten Beispielen, was du möchtest und was nicht.


Okay:

Zitat:
Dann habe ich Kontrollpunkte, die ich interpoliere. Ich wollte aber eine Funktion.
Zitat:

Wären die Daten einer simple Sinuskurve, dann möchte ich keine Kontrollpunkte, sondern eine Funktion (sin), eine Amplitude, eine Frequenz und einen Offset. Wie finde ich heraus, dass es eine Sinuskurve ist?

So vielleicht? Besser kriege ich es nicht hin.

Zitat:
einen Katalog an Funktionen mit variablen Parametern vorbereitest, die du als "kompakt" charakterisierst und entsprechend versuchst, deine Kurvenparameter an die Daten zu fitten. Das setzt aber schon etwas Wissen darüber voraus, wie die Kurven ausschauen werden.

Hey, eine hilfreiche Antwort, vielen Dank. Also im Prinzip das Vorgehen, dass ich im Ausgangsbeitrag skizziert habe? Rumprobieren, bis es möglichst gut passt? Ich hoffte, dass es was besseres gibt.
Jodocus
Mitglied

Benutzerprofil
Anmeldungsdatum: 06.12.2010
Beiträge: 1402
Beitrag Jodocus Mitglied 13:22:56 18.03.2017   Titel:              Zitieren

mathedepp schrieb:
Also im Prinzip das Vorgehen, dass ich im Ausgangsbeitrag skizziert habe? Rumprobieren, bis es möglichst gut passt? Ich hoffte, dass es was besseres gibt.
Ja, es gibt sehr viele Fitting-Algorithmen, die wesentlich besser als Brute Force sind. Dafür einfach mal Google bemühen. Und dann im nächsten Schritt nicht selber programmieren, sondern schon bestehende Programme/Libraries nutzen.

_________________
Quak


Zuletzt bearbeitet von Jodocus am 13:23:40 18.03.2017, insgesamt 1-mal bearbeitet
mathedepp
Unregistrierter




Beitrag mathedepp Unregistrierter 13:29:21 18.03.2017   Titel:              Zitieren

Jodocus schrieb:
Fitting

Siehste, ich bin zwar voll der dumme Depp und mein Tonfall ist Scheiße, aber mir fehlte nur ein einziges Wort, das mein Problem beschreibt. Danke dir.
Gregor
Moderator

Benutzerprofil
Anmeldungsdatum: 16.01.2002
Beiträge: 8673
Beitrag Gregor Moderator 20:31:10 19.03.2017   Titel:   Re: Funktion zur Kurve finden            Zitieren

mathedepp schrieb:
Ich bin ein totaler Mathe-Idiot und weiß gar nichts.

Nun habe ich ein beliebiges zweidimensionales Diagramm und möchte gerne ein Programm schreiben, das selbstständig eine möglichst kompakte Formel ermittelt, die das Diagramm möglichst exakt reproduziert.

Nach meinem aktuellen Wissensstand würde ich eine Anzahl von Sinus-Kurven mit zufälliger Frequenz und Amplitude modulieren, und das beste Ergebnis iterativ mit dem gleichen Verfahren zu verbessern versuchen, bis ich nahe genug am Ergebnis bin.

Eventuell würde ich mehr über Fourier-Transformation lernen, um als Startpunkt die Frequenzen besser als rein zufällig abschätzen zu können.

Wie geht jemand vor, der weniger dumm ist?

Was Du brauchst hängt von vielen Dingen ab. Ein Patentrezept für Kurve->Funktion gibt es nicht. Was für eine Kurve ist das denn? Du erwähnst hier eine Fouriertransformation. So ein Ansatz macht Sinn, wenn Du eine periodische Funktion hast oder wenn Du durch diesen Ansatz bestimmte Dinge direkter sehen kannst.

Du solltest glaube ich generell ein bisschen Modellierung der Kurve in Deinen Ansatz stecken. Welche Eigenschaften von der Kurve kennst Du? An welchen Stellen möchtest Du das Verhalten der Kurve besonders genau beschreiben? Weißt Du, wie die Kurve entsteht?

_________________
"Die Mathematiker sind eine Art Franzosen: Redet man zu ihnen, so übersetzen sie es in ihre Sprache, und dann ist es alsobald ganz etwas anderes." - Johann Wolfgang von Goethe
C++ Forum :: Mathematik und Physik ::  Funktion zur Kurve finden  
Gehen Sie zu Seite Zurück  1, 2, 3  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.