Properties
Similar Topics
Statistics
Comments
8
Participants
3
Subscribers
3
Votes
1
Views
1666
Share
Answered
Wie kann ich aus SPline Funktionen Frunktionswerte ziehen, wenn ich einfach bspw. s(-120) eingebe kommt ein Wert in negativer Millionen höhe raus wobei es eigentluch ein positiver Wert zwischen 1 und 0 sein sollte.
Vielen Dank im Vorraus
- GeoGebra
- Help
- Partners
-
Contact us
- Feedback & Questions
- This email address is being protected from spambots. You need JavaScript enabled to view it.
- +43 677 6137 2693
© 2023 International GeoGebra Institute
Please post your file
Here it is
Du willst einen Funktionswert abfragen ( bspw. s(-120) ).
Das geht nur mit Funktionen. Spline() ist ähnlich wie Kurve() ist keine Funktion.
Aber man kann sie (oft resp. Teile davon) in eine Funktion umwandeln. Dies indem man auf ihr sehr viele Punkte setzt und diese Punkte an den Befehl TrendPoly() übergibt.
damit ergibt p(-120) den Wert 0.036434306934607
Mit Erhöhung des Ranges in TrendPoly(<PunkteListe>,<Rang>) wird die Aproximation genauer braucht aber mehr Zeit und kann auch ins Schwingen geraten.
l1 = Folge(Punkt(s, n), n, 0, 1, 1 / 500)
Zähle die Variable "n" hoch bei 0 beginnend bis zum Wert 1 in Schritten von 1/500 (die Variable "n" ist nur innerhalb von Folge gültig)
Mit jedem Wert von n führe den ersten Ausdruck in Folge(Punkt(s,n),.......) aus. Das ist ein Punkt mit den Koordinaten (x,y) der auf der Spline (s) liegt und den Pfadparameter "n" hat (also 0/500, 1/500, 2/500 usw bis 500/500). Das entspicht 501 Punkten auf der Spline (gleichmässig verteilt) resp. 500 Zwischenräumen zwischen den Punkten.
Der Pfadparameter gibt den Ort eines Punktes auf einem Pfad an (in unserm Falls die Spline). 0 entspricht dem "linken" Ende, 0.5 entspricht der Mitte, 1 entspricht dem "rechten Ende". Die Punkte dazwischen haben einen (meist) proportionalen Wert zB 1/3 am Ende des ersten Drittel.
Beim Pfadparameter handelt sich nicht um einen ganzzahligen Intervall. Vielmehr ist es ein beliebiger Wert zwischen 0 und 1.
Im Besipiel ist der Interwall von n gleich 0.002 = 1/500 (also ebenfalls nicht 1, da der letzte Parameter in Folge() verwendet wurde, der, wenn man ihn weggelassen hätte, per deaufault = 1 gewesen wäre).
Wie könnte ich nur Punkte aus einem bestimmten Intervall ziehen: zB: Folge(.......,n,0.5,0.75,1/500) das wären die Punkte im 3ten viertel der Spline.
Dieses Forum ist dazu da um Fragen zu stellen. Niemand braucht sich dafür zu entschuldigen. Auch das Nachhaken ist erwünscht.
Nachtrag zur Zusatzfrage "bestimmter Intervall":
Man könnte zwei verschiebbare Punkte auf die Spline setzen (zB mit den Namen: L und R) und diese links und rechts vom gewünschten Teilstück setzen (durch verschieben). Dann könnte man die Punkte zwischen L und R (beide inklusive) wie folgt erzeugen:
Folge(Punkt(s,n), n, PfadParameter(L), PfadParameter(R), 1/500)
(An dieser Stelle stand mal ein inzwischen gelöschter Unsinn meinerseits)
Note: Dann, wenn ein benannter Punkt (also ein Punkt mit einem eigenen Namen) per Tool oder dem Befehl Punkt(<Pfad>) erzeugt wurde, dann merkt sich GGB intern zum Namen des Punktes auch den Pfad-Namen. Der Befehl PfadParameter(<Punkt-Name>) "weiss" dann welcher Pfad gemeint ist. Ein bestimmter Punkt in einer Liste hat keinen Namen. Selbst wenn er auf einem Pfad erzeugt wurde hat GGB keinen Bezug zu diesem Pfad der Befehl PfadParameter(Element(<Liste>,<Index>)) erzeugt dann "undefiniert".
Comments have been locked on this page!