math.h, funkcja logarytm
Ostatnio zmodyfikowano 2015-08-30 21:33
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 ? : 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 :) |
|
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ął : 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; }
|
|
DejaVu |
» 2015-08-30 21:33:02 |
|
« 1 » |