Форум сайта python.su
при вычислении выражения
s=4
B=cosh(((cosh(10**s))**(-1))/N)
Офлайн
Во-первых, приведите полный код программы, так как можно сразу сказать, что встроенной функции cosh нет, она присутствует в модуле math. Во-вторых, а нельзя ли распределить вторую строку на несколько более простых операций, это даст возможность более детально отладить скрипт.
Кроме того, у Вас не определена переменная N, что в данном случае, если вы это выполняете в консоли, будет грубой ошибкой.
Также, следуя из названия ошибки, можно предположить, что произошло переполнение значения одной из величин за пределы значения, предусмотренного типом данной величины, что неудивительно с такой зубодробительной формулой.
Отредактировано (Дек. 13, 2011 18:52:49)
Офлайн
Ради интереса посмотрел про данную функцию - cosh, он же ch, он же косинус гиперболический. Если интересно почитать про гиперболические функции, и про предмет разговора в частности - пожалуйста, простая информация для анализа.
http://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%B5%D1%80%D0%B1%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8
Вообще, эмпирически можно доказать, что вычисление функции math.cosh(10000), а именно такое у Вас значение аргумента, приведет к переполнению значения величины, так, что даже типа long integer будет мало для записи значения данной функции.
P. S. Как мне кажется, Вы решили проверить от винта вычислительные возможности языка? Боюсь Вас огорчить, в языке встроена защита от таких действий, как переполнение значения переменной и прочие веселые казусы. Если хотите что-то тестировать - тестируйте, но в размерах разумного.
Отредактировано (Дек. 13, 2011 19:10:27)
Офлайн
eiyawiiкалькулятор даёт бесконечностьcosh(10**s)
Офлайн
:) cosh(10**s)=4.40340911283146079363074800382228050176000204279575446821228538138111
6447638099342762367697243108264620491895671647486586075475575083254757
3371091375201917574857522741433341453070578994929809523424833566578422
0252256160212141870846544331134205559765630624368153078565412789211878
6861623291898206927520213163804147127029112664946952191444403169256898
624051604852309657679313564794810100666066158945503e+4342
Отредактировано (Дек. 14, 2011 08:54:56)
Офлайн
VasCraftу python встроенная длинная арифметика
что даже типа long integer будет мало для записи значения данной функции
Офлайн