![]() |
---|
Hallo, ich habe 10Punkte, also mit dem dazugehörigen Wert. Jetzt will ich eine Funktion erstellen, der diese Kurve beschreibt. Weiß jemand wie das geht? Gibt es vllt sogar ein Programm der das ausrechnet? Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
Hierzu passend bei OnlineMathe: Online-Übungen (Übungsaufgaben) bei unterricht.de: |
![]() |
![]() |
. Trendlinie in Excel. Oder "TrendPoly" in Geogebra. |
![]() |
Kann es sein, dass es auch Funktionen gibt, die man gar nicht beschreiben kann? |
![]() |
. zu einer endlichen Anzahl Punkten findest du auch immer eine Polynomfkt. (n-1)-ten Grades auf der diese Punkte liegen! Dazu setzt du die Punkte einfach in ein und löst das GLS n-ten Grades um die Koeffizienten zu bestimmen. Das heißt aber nicht, dass diese Funktion die von dir gesuchte ist! Ebenso findest du auch immer eine Überlagerungsfuktion aus mehreren Schwingungen auf der genau deine Punkte liegen. Willst du aber den Verlauf beschreiben, so ist die Trendlinie nach Art der gewählten Funktion für dich wohl die erste Wahl! ;-) |
![]() |
Habe nämlich alle Punkte in Geogebra eingegeben und als Funktion kam nur Schrott raus(Eine Konstante) Selbst als ich nur 3 Werte verwendet habe, wurde mir nur eine Konstante von 7 angezeigt, obwohl die Kurve, eine Kurve dritten Grades gleicht. Eingegeben habe ich einfach PolynomA Auch mit TrendPoly.. kommt nur eine Konstante als Lösung raus. Deswegen habe ich gefragt, ob es auch sein kann, dass man mit meinen Punkten keinen Polynom erhalten kann Ist das falsch was ich gemacht habe? |
![]() |
Syntax beachten ( Falls die Punkte schon definiert, Buchstaben verwenden. ) |
![]() |
Bei großen Datenmengen Trendlinie verwenden ( geht auch logarithmisch, exponentiell, |
![]() |
Habe es jetzt mit Excel versucht. Irgendwie nähert er meine Funktion falsch an. Ist der 6te Grad der höchste? |
![]() |
Teile doch mal bitte die Koordinaten dieser Punkte mit. mfG Atlantik |
![]() |
Meine Punkte und und und und und und und und und und und und und und |
![]() |
Da würd ich doch mal eine halblogarithmische Darstellung wählen, bzw. die x-Werte logarithmieren. Wie kommst du denn zu dieser Aufgabe? Worum genau geht es und wofür benötigst du die gesuchte Funktionsgleichung? Ich vermute ja, dass du mit Interpolation, vl auch Spline-Interpolation, in den meisten Fällen gut bedient sein würdest. Natürlich gibt es auch eine Polynomfunktion . Grades, welche durch alle deine Punkte läuft, doch wirst du von ihr wohl enttäuscht sein, denn du würdest bei einigermaßen brauchbarer Skalierung nur nahezu senkrechte Linien durch deine Punkte sehen, weil die Kurve extrem stark oszilliert und große "Amplituden" hat. Führst du eine Polynominterpolation für die logarithmierten x-Werte durch, oszilliert das Ergebnis zwar immer noch, aber deutlich weniger. Siehe Anhang. Ein gutes Programm für diese Zwecke, vor allem aber für Regressionen, nicht unbedingt Interpolationen, ist CurveExpert Professional. |
![]() |
Danke für Antwort! Ich habe es versucht mit deinem Programm zu realisieren. Allerdings klappt es nicht so wie du es gemacht hast. Würdest du bitte Datei hochladen können? |
![]() |
Hallo Xalooz, ich habe spaßeshalber mal ein Polynom 3.Ordnung durch die 14 Punkte gelegt (die grüne Kurve). Bis auf das Ende sieht das recht gut aus (s. Skizze - die X-Achse ist logarithmisch). Ansonsten bin ich völlig Romans Meinung. Mit einem Polynom von 13'ter oder ähnlich hoher Ordnung wirst Du nicht froh! Daher wäre es auch für Dich hilfreich, wenn Du auf Romans Fragen antworten würdest, statt zu versuchen dieses Polynom zu erzeugen. Gruß Werner |
![]() |
Ich habe die Frage wohl übersehen. Ich möchte auch y-Werte für andere x-Werte zwischen dem Intervall erhalten(näherungsweise). Dann wird wahrscheinlich das Polynom 3ter Ordnung sehr ungenau sein. |
![]() |
Was spricht dann dagegen, simple lineare Interpolation zu verwenden? Also quasi immer zwei benachbarte Punkte durch ein Geradenstück zu verbinden. Das lässt sich zB auch in irgend eine Steuerung in einen einfach einprogrammieren, sollte das dein ziel sein. Wir wissen ja noch immer nicht, was du genau vor hast, wie du die Interpolation verwenden möchtest und was dir zur Verfügung steht. Beachte bei Werners Polynom dritten Grades, dass dieses bei den Abszissenwerten von den logarithmierten Daten ausgeht. Für deine Originaldaten erhältst du dann eben eine Funktion, die eine Summe Potenzen von lg(x) ist. Sowie ich das im Screenshot für das Polynom 13.Grades gezeigt hatte. Ich würde also zu linearer Interpolation raten und wenns wirklich "runder" und glatter sein soll, dann eben Splines. Die wären, da du ja relativ wenige Datenpunkte hast, auch nicht so aufwändig zu realisieren, aber da müsstest du dich schon selbst in die zugehörige Theorie einlesen. Wenn du zB lineare Interpolation verwendest, musst du auch für dich entscheiden, ob du diese für die Originaldaten, oder für die mit den logarithmierten x-Werten durchführen möchtest. Ich denke, dass zweiteres vermutlich sinnvoller ist. Die Idee, EINE Funktion zu finden, die den gesamten Bereich abdeckt, würde ich vergessen. Es gibt sie natürlich und mit meinem Screenshot hab ich dir auch eine gezeigt, aber sie erzeugen idR nicht den glatten Kurvenverlauf, den du vermutlich erwartest. Datei hochladen geht hier nicht, Außerdem hab ich nicht CurveExpert verwendet, sondern Mathcad (und auch da hab ich mir die Datei nicht aufgehoben). In Curveexpert solltest du aber leicht das gleiche Ergebnis erzielen können, wenn du eben anstellen der Original x-Werte die logarithmierten x-Werte eintippst. Außerdem kannst du ja jederzeit die Koeffizienten von meinem Screenshot ablesen und in ein Programm deiner Wahl eintippen. Du siehst aber bereits an meinem Screenshot, dass diese Funktion auch nicht optimal zur Interpolation geeignet ist, obwohl sie exakt durch alle Stützpunkte läuft. |
![]() |
Leute ich kriege die krise. Habe die Kurve anzeigen lassen(Linear Splines) und die x-Achse log eingestellt, aber wie zum teufel kann man die Funktion anzeigen lassen? Habe CurveExpert benutzt |
![]() |
> wie zum teufel kann man die Funktion anzeigen lassen? DIE Funktion!!? Gar nicht! Diese deine Frage zeigt leider, dass du dich weder mit dem bisher geschriebenen, noch mit linearer oder kubischer Spline Interpolation auseinandergesetzt hast. Es geht nicht um DIE Funktion, sondern um 14 einzelne, unterschiedliche lineare Funktionen! Und eine Geradengleichung kannst doch auch selbst aufstellen, wenn zwei Punkte bekannt sind. Um mehr gehts nicht! -> de.wikipedia.org/wiki/Spline-Interpolation |
![]() |
Ich habs schon gelesen. Trotzdem bin ich davon ausgegangen, dass das Programm selbstständig lösen kann. Kann doch bestimmt auch mit dem Programm alle Geraden bestimmen? Du hast doch nicht alle mit dem Rechner bestimmt |
![]() |
> Trotzdem bin ich davon ausgegangen, dass das Programm selbstständig lösen kann. Macht es doch, oder? > Kann doch bestimmt auch mit dem Programm alle Geraden bestimmen? Wozu? > Du hast doch nicht alle 14 mit dem Rechner bestimmt Nein, denn falls es dir bereits aufgefallen ist, habe ich dir gar keine linearen Splines gepostet, sondern ein Polynom von 13. Grad in lg(x). Und dessen Koeffizienten hat selbstverständlich das Programm berechnet. Da du partout nicht sagen möchtest, worum es hier geht und was genau du machen möchtest (mittlerweile ist da aber auch nicht mehr relevant - wer nicht will, der hat schon), kann man dir auch nicht weiter helfen. Daher nur eine letzte Bemerkung: Wenn es dir tatsächlich nur darum geht, wie du geschrieben hast, von Zwischenwerten für x Funktionswerte zu bestimmen - das kann jedes bessere Mathe-Programm. Und auch in CurveExpert etwa öffnest du, nachdem du Linear Splines gewählt hast, das Result Fenster und dort den "Analyze" Tab. Jetzt kannst du zu beliebigen x-Werten die zugehörigen y-Werte berechnen lassen. Unter "Table" kannst du dir auch eine umfangreichere Wetetabelle erstellen lassen und exportieren. Es ist dazu überhaupt nicht nötig, dass dir CurveExpert alle möglichen Geradengleichungen angibt. Wäre auch nicht sonderlich hilfreich und sinnvoll (denke an Datenwolken von mehreren Hundert Werten), wenn dir das Programm doch ohnedies zu jedem Wert den interpolierten Ordinatenwert liefert. Außerdem funkt lineare Interpolation nicht notwendigerweise über die Geradengleichung, sondern verwendet direkt die Ankerpunkte und deren Koordinaten. Aber das hast du ja ohnedies schon nachgelesen. Im übrigen beherrscht auch das kostenlose Geogebra Splines. |
![]() |
Danke für die Antwort. Ich habe es ausprobiert, eigentlich das was ich will x-Wert eingeben und y-Wert erhalten, aber ich brauche eine Funktion, also eine die ich unabhängig vom Programm anwenden kann. Im Prinzip genauo eine wie in deinen ersten Beitrag. Klar kann ich die Abschreiben, möchte aber selbst ausprobieren. Ich glaube du hast es mit Mathcad gemacht. Die Installation macht Probleme. Gibs bestimmt noch ein anderes Programm das so präzise arbeitet Das sind Messwerte an bestimmten Punkten. Ich will wie bereits gesagt die bestmöglichste Funktion, mit der ich näherungsweise auch andere Werte berechnen kann. Ich denke die lineare Verbindung ist schon ganz gut. Besser wäre, wenn es vllt bisschen runder wäre, aber nicht so extrem wie bei kubische Spline, sondern nur ganz schwach, aber nicht so wichtig. Wäre froh, wenn ich es überhaupt irgendwie noch hinkriege. |
![]() |
Wenn ich lineare Interpolation verwende, kann ich ja Geraden bestimmen, aber wie verbindet man es zu einer Funktion oder geht das nicht? Am liebsten hätte ich immer noch die Kurve, die Roman in seinem ersten Beitrag gezeigt hat. Weiß denn keiner ob es mit einer anderen Software als MathCad geht? Geogebra, CurveExpert,Excel alle fallen weg |
![]() |
Wenn ich lineare Interpolation verwende, kann ich ja Geraden bestimmen, aber wie verbindet man es zu einer Funktion Programmiertechnisch gesprochen mit Verzweigungen: Wenn im Bereich dann gilt diese Funktion, etc. Mathematisch handelt es sich um eine stückweise definierte Funkion. Natürlich kann man sie nicht einfach durch einen einzigen Funktionsterm beschreiben. Wie du das nun konkret realisierst kannst nur du wissen, da du hier der einzige bist, der weiß (wissen sollte) worum es hier konkret geht und was genau du eigentlich wie und wo realisieren möchtest. Uns wolltest du es ja partout nicht verraten und wie schon gesagt, interessiert es mittlerweile auch nicht mehr. Geogebra, CurveExpert,Excel alle fallen weg Warum denn?. Alle drei beherrschen meines Wissens die einfache Polynomregression. Bei Excel bin ich mir nicht sicher, ob der Grad bis auf einstellbar ist, Geogebra kann das vermutlich sehr wohl und Curveexpert kann es ganz sicher. Natürlich musst du die x-Werte erst logarithmieren, dann die Polynomregression durchführen und im Ergebnispolynom die durch die Logarithmen von ersetzen. Dann kommst du genau auf die von mir gepostete Funktion, die aber vor allem für die kleineren x-Werte keine gute Lösung darstellt. Ich habs in Mathcad damals jedenfalls auch nicht anders gemacht. Frohes Fest und schöne Feiertage |
![]() |
Du hast geschrieben: Natürlich musst du die x-Werte erst logarithmieren, dann die Polynomregression durchführen und im Ergebnispolynom die durch die Logarithmen von ersetzen. Logarithmiere ich die x-Werte, wenn ich die Achse auf log einstelle? Was meinst du mit "im Ergebnispolynom die durch die Logarithmen von ersetzen" Das verstehe ich irgendwie nicht |
![]() |
Du ersetzt die x-Werte durch ihre logarithmierten Werte (zB mit dem dekadischen Logarithmus lg). Das geht, weil alle dein sind. Wenn du nun plottest kommst du auf ein Bild wie von Werner gepostet. Beachte, dass im Unterschied zu meinen Bildern, bei denen ich schon wieder die Originalwerte für verwendet habe, bei ihm die x-Achese ganz normal linear geteilt ist und an seiner Achsenbeschriftung/-skalierung siehst du ja, das es hier nicht um die Original-x-Werte geht. Nun führst du mit einem Programm deines Vertrauens (sofern du nicht das lineare Gleichungssystem für die Variablen per Hand lösen möchtest) die Polynomregression durch und solltest in etwa die Koeffizienten aus meinen Bild bekommen. Da das aber nun ein Polynom für die logarithmierten x-Werte ist, musst du für die Interpolation mit deinen Original-x-Werten diese erst logarithmieren, bevor du sie in die Polynomfunktion einsetzt. Das entspricht einem Ersetzen von durch lg(x) im Polynom. Ob diese, wie schon früher geschrieben, immer noch recht oszillierende Funktion für deine Bedürfnisse reicht, musst du natürlich selbst entscheiden. Siehe dazu auch im Anhang drei leicht unterschiedliche Spline-Interpolationen im Vergleich mit der Polynomregression. Und bevor du frägst - NEIN, auch bei den Splines gibts nicht EINE Funktionsgleichung. Vielmehr stückelt sich der Graph aus Polynomen dritten Grades (die je zwei Nachbarpunkte verbinden) so zusammen, dass auch erste und zweite Ableitung (speziell auch an den Übergangsstellen) stetig sind. |
![]() |
Hallo, ich war einige Tage im Urlaub. Danke, ich habe es verstanden. Ich brauche nicht EINE Funktion bzw. es geht auch wenn es Polynome werden in den jeweiligen Abschnitt. Kann man das irgendwie berechnen/bestimmen? |
![]() |
Kann man das irgendwie berechnen/bestimmen? Natürlich kann man. Dazu müsstest du dich eben in die Theorie der Splines einlesen. Aber da es dir ja bereits zu aufwändig war, die Geradengleichungen für die lineare Interpolation aufzustellen . Denn bei der linearen Interpolation ist jede Gerade nur von den beiden Punkten abhängig, die sie verbindet - einfacher gehts eigentlich nicht mehr. Bei den kubischen Splines ist aber die Kubik ganz links auch noch (geringfügig) von den Punkten ganz rechts abhängig. Da ist dann zur Bestimmung der Koeffizienten ein größeres Gleichungssystem zu lösen. Es gibt viele Programme, die Spline-Interpolationen durchführen können, aber ich kenne eigentlich keines, das dir auf Knopfdruck sämtliche Funktionsgleichungen liefert. Allerdings habe ich auch nie danach gesucht, weil ich nie das Bedürfnis hatte, diese Gleichungen zu kennen. Aber OK, hier ein paar Links (und du findest genügend weitere bei Interesse: de.wikipedia.org/wiki/Spline-Interpolation http//www.zebresel.com/wp-content/uploads/2012/07/ModMA_SoSe12_Tobias_Schwandt.pdf http//www.arndt-bruenner.de/mathe/scripts/kubspline.htm |
![]() |
Danke für die Hilfe! |