Hossa
ich bin in die verlegenheit geraten, eine potenzreihe der form
y = y0 * (1 - t/T)^x
in einem mikrocontroller berechnen zu müssen.
x = 0, 0.1, 0.2, … 4
Im Kern besteht dein Problem also darin, einen Ausdruck der Form
f(t)=\left(1-t/T\right)^{0,1}
zu berechnen. Danach hast du im Exponenten eine ganze Zahl zwischen 1 und 40, so dass du mit einfacher Multiplikation weiter arbeiten kannst.
Die Taylor-Entwicklung für eine Funktion f um einen Wert z_0 herum lautet allgemein:
f(z_0+z)=\sum_{k=0}^\infty f^{(k)}(z_0)\cdot\frac{z^k}{k!}
Übertragen auf deinen Fall wäre dann:
z_0=1\quad;\quad z:=-\frac{t}{T}\quad;\quad f(x):=x^{0,1}
Zur Berechnung benötigen wir zunächst die Ableitungen von f(x):
f^{(0)}(x)=x^\frac{1}{10}
f^{(1)}(x)=\frac{1}{10}\cdot x^{-\frac{9}{10}}
f^{(2)}(x)=-\frac{1\cdot9}{100}\cdot x^{-\frac{19}{10}}
f^{(3)}(x)=\frac{1\cdot9\cdot19}{1000}\cdot x^{-\frac{29}{10}}
f^{(4)}(x)=-\frac{1\cdot9\cdot19\cdot29}{10^4}\cdot x^{-\frac{39}{10}}
f^{(5)}(x)=\frac{1\cdot9\cdot19\cdot29\cdot39}{10^5}\cdot x^{-\frac{49}{10}}
\cdots
Es ist klar, wie das weitergeht. Speziell an der Stelle x=1 gilt:
f^{(0)}(1)=+1
f^{(1)}(1)=+\frac{1}{10}
f^{(2)}(1)=-\frac{1\cdot9}{100}
f^{(3)}(1)=+\frac{1\cdot9\cdot19}{1000}
f^{(4)}(1)=-\frac{1\cdot9\cdot19\cdot29}{10^4}
f^{(5)}(1)=+\frac{1\cdot9\cdot19\cdot29\cdot39}{10^5}
\cdots
Die einzelnen Terme der Taylorentwicklung lauten daher:
f^{(0)}(1)\cdot\frac{z^0}{0!}=+1
f^{(1)}(1)\cdot\frac{z^1}{1!}=
+\frac{1}{10}\cdot\frac{z^1}{1!}=
-\frac{1}{10}\cdot\frac{1}{1}\left(\frac{t}{T}\right)^1
f^{(2)}(1)\cdot\frac{z^2}{2!}=
-\frac{1\cdot9}{100}\cdot\frac{z^2}{2!}=
-\frac{1\cdot9}{100}\cdot\frac{1}{2}\left(\frac{t}{T}\right)^2
f^{(3)}(1)\cdot\frac{z^3}{3!}=
+\frac{1\cdot9\cdot19}{1000}\cdot\frac{z^3}{3!}=
-\frac{1\cdot9\cdot19}{1000}\cdot\frac{1}{6}\left(\frac{t}{T}\right)^3
f^{(4)}(1)\cdot\frac{z^4}{4!}=
-\frac{1\cdot9\cdot19\cdot29}{10^4}\cdot\frac{z^4}{4!}=
-\frac{1\cdot9\cdot19\cdot29}{10^4}\cdot\frac{1}{24}\left(\frac{t}{T}\right)^4
f^{(5)}(1)\cdot\frac{z^5}{5!}=
+\frac{1\cdot9\cdot19\cdot29\cdot39}{10^5}\cdot\frac{z^5}{5!}=
-\frac{1\cdot9\cdot19\cdot29\cdot39}{10^5}\cdot\frac{1}{120}\left(\frac{t}{T}\right)^5
\cdots
Alles zusammengefasst:
\left(1-\frac{t}{T}\right)^{0,1}\approx 1-
a_1\left(\frac{t}{T}\right)-
a_2\left(\frac{t}{T}\right)^2-
a_3\left(\frac{t}{T}\right)^3-
a_4\left(\frac{t}{T}\right)^4-
a_5\left(\frac{t}{T}\right)^5-\cdots
Die Koeffizienten kannst du dabei rekursiv berechnen:
a_{n+1}=a_n\cdot\frac{10n-1}{10(n+1)}\quad;\quad a_1=\frac{1}{10}
Die Koeffizienten a_i verringern sich recht langsam. Daher hängt es von der Größe (t/T) ab, wie schnell die Reihe konvergiert. Da du die Koeffizienten jedoch rekursiv berechnen kannst, ist es möglich, die Reihe so lange fortzusetzen, bis sich das Gesamtergebnis nicht mehr ändert.
Viele Grüße