Aufgabenstellung: Gegeben ist ein ausgearbeitetes Geogebra-Arbeitsblatt. Daraus lassen sich Teilaufgaben entwickeln, die mit Maxima gelöst werden sollen!
Vorübung 01:
Man bestimme Funktionsgleichungen für Polynomfunktionen mit dem angegebenen Grad und den angegebenen Nullstellen und zeichne diese mit Geogebra. Einen zusätzlichen Punkt muss man frei wählen, warum eigentlich?
Grad der Polynomfunktion | x1 | x2 | x3 | x4 | x5 |
2 | -3 | 5 | |||
3 | -4 | 0 | 3 | ||
4 | -5 | 1 | 4 | 6 | |
5 | -7 | -3 | 2 | 4 | 7 |
Vorübung 02:
Für die Bestimmung von Nullstellen, Extremwerten und Wendepunkten gibt es in Geogebra Funktionen. Das kann man einfach ausprobieren. Man verwende die folgenden Funktionsgleichungen.
Aus der folgenden Abbildung leiten sich alle weiteren Aufgabenstellungen ab (die eigentliche Aufgabe).
Einzelne Aufgaben (Übersicht):
- Die Funktion f(x) ist im Algebra-Fenster angeführt. Durch Kurvendiskussion kann man die Punkte nachrechnen. http://maxima-online.org/?inc=r1899322482
- Aus vier ausgewählten Punkten muss sich die Funktion eindeutig bestimmen lassen. Das ergibt 15 Gleichungssysteme mit jeweils 4 linearen Gleichungen in 4 Unbekannten! Wie man vorgehen kann, steht z.B. hier:
https://weilharter.info/2014/04/08/ein-polynom-zur-einer-gegebenen-punkteliste-bestimmen/ - Man berechne die Tangentensteigungen in den 6 Punkten!
Code 01:
f(x):=(x+3)*(x-5)*(x-7)/20;
l:realroots(f(x));
r(x):=floor(x*100+0.5)/100.0;
P(x):=map(r,[rhs(x),f(rhs(x))]);
N:map(P,l);
l:realroots(diff(f(x),x));
r(x):=floor(x*100+0.5)/100.0;
P(x):=map(r,[rhs(x),f(rhs(x))]);
E:map(P,l);
l:realroots(diff(f(x),x,2));
r(x):=floor(x*100+0.5)/100.0;
P(x):=map(r,[rhs(x),f(rhs(x))]);
W:map(P,l);
Code 02:
Punkt:[[-3,0],[-0.06,5.25],[5,0],[7,0]] /* EINGABE */;
n:length(Punkt);
Grad:n-1;
g(x):=x[2]=sum(a[i]*x[1]^(n-i),i,1,Grad)+a[n];
Gleichungen:map(g,Punkt);
Unbekannte:makelist(a[i],i,1,n);
l:solve(Gleichungen,Unbekannte);
y=Unbekannte.makelist(x^(n-i),i,1,n),l;
Code 03:
Punkt:[[-3,0],[5,0],[7,0],[-0.06,5.25],[6.06,-0.45],[3,2.4]];
f:(x+3)*(x-5)*(x-7)/20;
a:diff(f,x);
s(X):=floor(ev(a,x=X[1])*100+0.5)/100.0;
map(s,Punkt);
Ausführung Code 3:
Kontrolle: Die gefundenen Steigungen können kontrolliert werden, indem man in Geogebra die Tangenten einzeichnet.