Witam !
Mam do zrobienia projekt (treść dana przez wykładowce) który będzie liczył sumę takiego szeregu przy danym \(\displaystyle{ x}\) i \(\displaystyle{ eps}\)
\(\displaystyle{ (1+x) ^{ \frac{1}{2} } =\sum_{ i=0 }^{ \infty } { \frac{1}{2} \choose i} \cdot x ^{i} =1+ \frac{1}{2} \cdot x- \frac{1}{8} \cdot x^{2}+ \frac{1}{16} \cdot x^{3}...}\) gdzie \(\displaystyle{ x \in (-1,1)}\)
Mam kilka pytań po pierwsze czy nie ma błędu w samym szeregu ? (Czy "n" w dwumianie nie powinno być całkowite ). Może ktoś zna ten szereg i wzór poprawny ? Co to jest ten eps ( wiem że przybliżenie ale jak je zastosować w programie) ?
[C] dwumian newtona i szereg nieskończony
[C] dwumian newtona i szereg nieskończony
\(\displaystyle{ \sqrt{1+x}=1
+ \frac{1}{2} x
- \frac{1}{8} x^2
+ \frac{1}{16} x^3
- \frac{5}{128} x^4
+ \frac{7}{256} x^5
- \frac{21}{1024} x^6
+ \frac{33}{2048} x^7
+ \dots\\\\
{n\choose i}=\frac{n\cdot(n-1)\dots \cdot (n-i+1)}{i!}}\)
n nie musi być całkowite
+ \frac{1}{2} x
- \frac{1}{8} x^2
+ \frac{1}{16} x^3
- \frac{5}{128} x^4
+ \frac{7}{256} x^5
- \frac{21}{1024} x^6
+ \frac{33}{2048} x^7
+ \dots\\\\
{n\choose i}=\frac{n\cdot(n-1)\dots \cdot (n-i+1)}{i!}}\)
n nie musi być całkowite
Kod: Zaznacz cały
int main(void) {
double a,s,x,j,eps; int i;
x=0.11; eps=0.0001;
s=a=i=1; j=0.5;
while( fabs(a)>eps )
s += a *= -j--*x/i++;
printf("1-s^2 %+0.10f
", 1-s*s);
printf("x %+0.10f
", x);
printf("eps %+0.10f
", eps);
printf("a %+0.10f
", a);
printf("iter. %2d
", i);}
[C] dwumian newtona i szereg nieskończony
zrobiłem tak bom głąb i nie potrafiłem inaczej.
mam szczęście bo szereg zbiega się całkiem szybko i po organoleptycznych badaniach wyszło, że tak jest mniej a raczej więcej OK
-- 6 grudnia 2011, 09:08 --
nie nie było OK, bo gdy x zbliża się do promienia wynik jest do d...
a przecie jak byk widać co należy sprawdzaćuf głąb żem, ale nie do końca
jak w nieedytowalnym już poście choćby wskazać błąd?
mam szczęście bo szereg zbiega się całkiem szybko i po organoleptycznych badaniach wyszło, że tak jest mniej a raczej więcej OK
-- 6 grudnia 2011, 09:08 --
nie nie było OK, bo gdy x zbliża się do promienia wynik jest do d...
a przecie jak byk widać co należy sprawdzać
Kod: Zaznacz cały
do s += a *= -j--*x/i++;
while( fabs(1-s*s-x)>eps );
jak w nieedytowalnym już poście choćby wskazać błąd?