Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

funkcja liczaca ln(x+1)

Ostatnio zmodyfikowano 2017-06-11 21:54
Autor Wiadomość
degel1234
Temat założony przez niniejszego użytkownika
funkcja liczaca ln(x+1)
» 2017-06-11 21:12:23
Czesc mam zrobic funkcje ktora liczy  ln(x+1) dla dowolnego x rzeczywistego (domyslam sie ze tylko dla x>=-1). Napisalem funkcje zgodnie z rozwinieciem szeregu Maclaurena ale niestety wydaje sie ze liczy ona poprawnie tylko dla x z przedzialu (-1,1>,zreszta tak jak pisze na wiki. Pytanie dlaczego nie moge wstawic dowolnej liczby? Jak przerobic program?

Oto kod:
#include <iostream>
#include <cmath>


using namespace std;

double logarytm(double x,int n)
{
 double sum=0;
 for(int i=1; i<=n;i++)
 {
     sum=sum+((pow((-1),i+1)*pow(x,i))/i);
 }
 return sum;
}
int main()
{
    cout<<logarytm(0.5,100);  //np dla x=0.5 i wykonanie 100 cykli
}


P-162393
Luq
» 2017-06-11 21:54:03
Pytanie dlaczego nie moge wstawic dowolnej liczby?
Bo szereg jest zbieżny tylko w przedziale (-1, 1]. Jak chcesz policzyć logarytm dla x>1, to możesz skorzystać ze wzoru ln x = -ln(1/x)
P-162394
« 1 »
  Strona 1 z 1