1. Ableitung einer Funktion < Analysis < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:46 Fr 11.03.2005 | Autor: | chaos_2k |
Hi
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich beschäftige mich in meiner Freizeit viel mit der Programierungen von 3d/2d Visualisierung. Leider habe ich als Schüler der 8.Klasse nicht immer das Hintergrundwissen, welches ich benötige. Ich versuche eigentlich meine Probleme selbst zu lösen oder einen meiner Lehrer zu fragen, allerdings sind diese mit meinen problemen teilweise überfordert *g*.
Ich sehe hier meine letzte möglichkeit folgendes in erfahrung zu bringen:
Mein derzeitiges Projekt beschäftigt sich damit eine 2d Fläche (auf der Objekte gerendert werden) zu krümmen. Die funktionen werden in Polarkoordinaten angegeben. Die Funktionen werden für jeden Pixel des Bildes Neu berechnet und der Pixel nach dieser funktion verschoben. Ziel dieser Krümmung soll es sein Eine gerade Linie für jedes neu berechnete Bild( also wie ein in einem Film) so zu krümmen das sie die den Flügelschlag eines Vogels den man vorne betrachtet nachahmt.
Ich kann beide Koordinatensysteme (Polar und Karthesisches) auslesen.
Mein erster Ansatz ist:
speed=sin(time);
correctx=x-0.5;
rot=(rot+sin(corectx*rad)*speed;
//Variablenerklärung
rot=ist die die menge der Rotation des Pixels Werte: von -1 bis 1;
time= ist ein Zeizähler der nach start des Programmes anfängt zu zählen und die zeit in sekunden angibt;
rad=ist die entfernung des Pixles von der mitte des Bildschirmes (entspricht also r im Polarkoordinatensystem)
speed soll die geschwindigkeit sein mit der alles abläuft.
correctx nimmt die x werte jedes Pixels und zeiht 0.5 davon ab, da das Bild sonst zuweit rechts steht
ausserdem ist der wert dazu da, dass je weiter ein Pixel von der Mitte entfernt ist, umso stärker versetz ("gekrümmt") wird.
Die Rotation verändert den r wert (ich glaube radius in polar) eines jeden Pixels und dadurch entsteht schonmal eine vogelähnliche Bewegung oder Krümmung der linie.
Speed variert von -1 bis 1(nach der Sinuskurve) und bestimmt sozusagen die gesamtkrümmung. Durch die Sinuskurve ensteht also wenn man mehrere Bilder hintereinander berechnet, eine Bewegung die dem Vogel gleicht, aber mit einem Problem:
Die geschwindigkeit ist "linear" für auf und ab beweung und das kommt der reelen Bewegung eines Vogels leider nicht Gleich.
Also muss man die "geschwindigkeit" so variieren, das sie bei der bewegung von unten (y=-1) nach oben (y=1); langsamer ist als die Geschwindigkeit wenn die Bewegung nach unten verläuft.
Ich bin beim 2d Plotting folgenden Ansatz durchgegangen, wobei die x achse den wert von speed darstellte und y die zeit.
Erster Ansatz:
abs(sin(x)) //x=time für meine zwecke
Wenn man das plottet (z.B mit dem Plotter von http://www.arndt-bruenner.de/mathe/index/indexframe.htm)
ist das noch nicht ganz richtig. Wenn man allerdings dann 1. Abwandlung auswählt und neu Plottet, erhält man ein ergebniss welchem dem entspricht was ich gerne hätte.
Meine Frage also nach all der Schreibarbeit:
Was ist die erste Abwandlung einer Funktion
und:
Wie kann ich diese Berechnen???
Um antworten wäre ich sehr dankbar.
Mfg
chaos_2k
|
|
|
|
Hallo,
finde ich cool, dass du sowas programmierst.
Die Ableitung einer Funktion ist die Steigungsfunktion.
Ich habe dir in dem Bild mal die Funktion $f(x) = [mm] x^2$ [/mm] (rot) zusammen mit
der Steigungsfunktion $f'(x) = 2x$ geplottet.
Ich hoffe, dass das Bild hier jetzt erscheint, weil dass bisher bei mir
nie so richtig geklappt hat
[Dateianhang nicht öffentlich]
Wenn du nun an einer beliebigen Punkt der Funktion (z.B. P(1;1)) stehst
und vorwärts gehst, d.h. immer in steigenden x-Richtung, so geht die
rote Funktion entweder aufwärts oder abwärts. (bei P(1;1) aufwärts).
Wenn man nun genau wissen will wieviel es aufwärts geht, kann man die
Ableitung bemühen. Wenn man da die Stelle (also x=1) einsetzt, erhält
man die Steigung (also $f(1) = 2*1=2$).
[mm] $\rightarrow$ [/mm] Wenn ich eine Funktion $f(x)$ und die zugehörige Ableitung
$f'(x)$ - die Ableitungsfunktion ist durch den ' gekennzeichnet - so kann ich
die Steigung an jeder beliebigen Stelle x berechnen.
[Wenn dich weitergehende Theorie interessiert, dann frag einfach nochmal nach]
Als nächstes ist die Frage wie man eine Ableitung berechnet. Ich lasse einfach mal die Theorie weg (sonst nachfragen) und gebe dir die Formel an.
1.) für Polynomfunktionen (Funktionen, in denen nur [mm] x^{irgendwas} [/mm] in Kombination mit Addition und Subtraktion vorkommt).
$f(x) = [mm] a*x^n \rightarrow [/mm] f'(x) = [mm] a*n*x^{n-1}$
[/mm]
Bsp. $f(x) = [mm] 3*x^4 [/mm] a=3,n=4 [mm] \rightarrow [/mm] f'(x) = [mm] 3*4*x^{3}$
[/mm]
Das kann man auch beliebig mit + bzw - kombinieren
$f(x) = [mm] a*x^n [/mm] + [mm] b*x^m [/mm] - [mm] c*x^p\rightarrow [/mm] f'(x) = [mm] a*n*x^{n-1} [/mm] + [mm] b*m*x^{m-1} [/mm] - ...$
Bei * bzw. / wirds komplizierter. Da kannst du einfach unter
Produktregel bzw. Quotientenregel im Internet gucken, oder du fragst nochmal nach.
Für die sinus, cosinus ... gilt:
$f(x) = sin(x) [mm] \rightarrow [/mm] f'(x) = cos(x)$
$f(x) = cos(x) [mm] \rightarrow [/mm] f'(x) = -sin(x)$
$f(x) = -sin(x) [mm] \rightarrow [/mm] f'(x) = -cos(x)$
$f(x) = -cos(x) [mm] \rightarrwo [/mm] f'(x) = sin(x)$
wenn du noch Fragen hast, weiter fragen.
marthasmith
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:17 Sa 12.03.2005 | Autor: | chaos_2k |
HI
danke erst mal für die erklärung.
Ich habe das soweit verstanden allerdings gibt es da noch eine sache und zwar will ich ja die funktion
[mm]$ f(x) = abs( sin( x )) $[/mm] ableiten.
Wenn
[mm]$ f(x) = sin(x) \rightarrow f'(x) = cos(x) $[/mm]
, dann würde ja
[mm]$ f(x) = abs( sin( x )) \rightarrow f'(x) = abs( cos( x))$ [/mm]
und das stimmt ja dann nicht so ganz....
was muss ich als so mit der
abs funktion machen?
mfg
chaos_2k
|
|
|
|
|
Hallo,
da musst du einen Fallunterscheidung machen:
$f(x) = abs(sin(x)) = sin(x) für x >= 0 bzw. -sin(x) für x<= 0$
Das kann man dann auch getrennt ableiten:
$f'(x) = cos(x) für x >= 0 bzw. -cos(x) für x<= 0$
In der Ableitung gibt es einen Unstetigkeit bei x=0, weil die Ableitung wenn
du von x = -2 in Richtung x = 0 läufst steigt, wenn du aber aus der Richtung x = 2 in die Richtung x = 0 läufst fällt.
Hier die beiden plots:
[Dateianhang nicht öffentlich]
[Dateianhang nicht öffentlich]
gruß
marthasmith
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich] Anhang Nr. 2 (Typ: jpg) [nicht öffentlich]
|
|
|
|
|
Hallo chaos_2k
Manchmal wird die Funktion sign(x) die Das Vorzeichen
von x, also -1 für x<0, 0 für x=0, +1 für x > 0
angibt verwendet.
die Ableitung [abs(x)]' wäre dann sign(x)
und
ist für 0 nicht deffiniert.
abs( sin(x) ) könnte man dann nach der Kettenregel
ableiten als sign( sin(x) ) * cos(x)
wobei
aber in Computerprogrammen eine direkt programmierte
Fallunterscheidung wahrscheinlich günstiger ist.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:15 Sa 12.03.2005 | Autor: | chaos_2k |
Hi
habs ohne Fallunterscheidung geschafft, ist um einiges schneller (da weniger rechenleistung benötigt wird).
Vielen dank an alle die geholfen haben *g*
Wer das endergebnis mal sehen will soll sich mal bei mir per mail melden.
mfg
chaos_2k
|
|
|
|