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

math.h, funkcja logarytm

Ostatnio zmodyfikowano 2015-08-30 21:33
Autor Wiadomość
Anim
Temat założony przez niniejszego użytkownika
math.h, funkcja logarytm
» 2015-08-29 14:19:49
Cześć. Potrzebuję wykorzystać funkcję liczącą logarytm naturalny. dołączam nagłówek math.h, ale niestety zauważyłem, że w momencie, kiedy do logarytmu podaje się wartości nieskończone (np.1/3, 2/3) to obliczenia się wykładają... macie może pomysł , jak to obejść? jest może jakaś doskonalsza biblioteka licząca logarytmy ? A może mój kod szwankuje ? :


C/C++
std::vector < int > tabela_1;
tabela_1 = { 1, 3 };

std::vector < int > tabela_2;
tabela_2 = { 1, 3 };

double a = 0;
int z = tabela_1.size();
double wynik_1 = 0;

for( int i = 0; i < z; i++ )
{
    a =( tabela_2[ i ] ) * log(( tabela_1[ i ] ) );
    wynik_1 += a;
}

Z góry uprzedzę, że fakt, że używam vectorów jest podyktowany tym, iż wyliczenia będą dla kilku tysięcy danych, a nie dla dwóch :)

Pomocy :)
P-137033
Anim
Temat założony przez niniejszego użytkownika
» 2015-08-29 14:42:11
Brakuje castowania (double(log())... :), wtedy mam dobre ułamki.... ale nadal logarytm szwankuje...

ok...naprawione :) Jakby ktoś się na to może kiedyś natknął :

C/C++
std::vector < int > tabela_1;
tabela_1 = { 1, 3 };

std::vector < int > tabela_2;
tabela_2 = { 1, 3 };

double a = 0;
int z = tabela_1.size();
double wynik_1 = 0;

for( int i = 0; i < z; i++ )
{
    a =( double ) tabela_2[ i ] ) * log(( double ) tabela_1[ i ] );
    wynik_1 += a;
}
P-137034
DejaVu
» 2015-08-30 21:33:02
P-137075
« 1 »
  Strona 1 z 1