Program zliczający sume szeregu funkcyjnego

0

Witam wszystkich serdecznie,

Mam problem w napisaniu programu projektowego.
Aplikacja ma liczyć sume szeregu funkcyjnego, z dokładnością obliczeń 0<Eps<1, gdzie użytkownik podaje jego wartość,
oraz wartość x która ma być podstawiona za niego.
Na końcu program ma zwrócić wynik sumy oraz wartość n czyli ilość wykonanych obrotów pętli.
Problem polega na tym, że nie jestem w stanie wyznaczyć wzoru rekurencyjnego.

Szereg wygląda nastepująco:
screenshot-20180201122208.png

Problem jest taki, że nie jestem w stanie wyznaczyć tego wzoru rekurencyjnego.

W dokumentacji mam coś takiego:
screenshot-20180201122559.png

Ogólny zapis funkcji wygląda tak:

        static void SumaSzergu(float Esp, float x,out float suma,out int n)
        {
            float w;

            suma = 0.0f;

            w = 1.0f;

            n = 0;

            do
            {// liczenie:
                suma += w;
                n++;
                w *= 1 * x / n; //TUTAJ NALEZY WPISAC WZÓR REKURENCYJNY
            }
            while (Math.Abs(w)>Esp);
        }
2

Kolejny szereg, wyglądający podobnie, znowu liczący na floatach, ciekawe skąd one się borą na tym forum .... to musi być jedno i to samo źródło ...

static void SumaSzergu(float Esp, float x,out float suma,out int n)
        {
            float w;

            suma = 0.0f;

            w = 1.0f;

            n = 0;

            float minus_jeden_do_ntej = -1;
            float x_do_ntej = x;
            float trzy_do_ntej = 3;

            do
            {// liczenie:
                suma += w;
                n++;              
                w = minus_jeden_do_ntej * (x_do_ntej / (trzy_do_ntej * n));

                minus_jeden_do_ntej *= -1;
                x_do_ntej *= x;
                trzy_do_ntej *= 3;
            }
            while (Math.Abs(w)>Esp);
        }
0

Super! Właśnie tekiej pomocy potrzebowałem.
Źródło tego to studia I rok :)
Mogłbyś mi jeszcze podać w jaki sposób wyliczyłeś wzór rekurencyjny, bo widzę, że potęgi są opuszczone.

1

potęgi nie są opuszczone, tylko zamiast liczyć w każdej iteracji x^n to znacznie efektywniej jest wziąć poprzedni wynik i przemnożyć przez x, no bo w końcu 2^4 = 2 * 2 * 2 * 2 i żeby uzyskać 2^5 to wystarczy pomnożyć 2^4 razy 2 ;)
żadnego wzoru nie liczyłem i nie trzeba liczyć, to jest dokładnie to co jest obok dużego symbolu sumy po prawej stronie (jak przeczytasz to co napisałem przy w= to będzie miał to samo co przy sumie)
a wzór rekurencyjny na k-tą sumę, to po prostu suma k początkowych wyrazów ciągu ....

0

W sumie racja, nie wpadłem na to.
Dzięki wielkie za pomoc!
Biorę sie za składanie tego w całość.
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0