|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 24, 2004 03:06:29 Подскажите, пожалуйста, алгоритм возведения в дробную степень. Желательно что-нибудь по оптимальней. Конкретней о задаче: надо вычеслить xy, где x - целое число в пределах от 1 до 15. А y - вещественное число, предположительно в пределах от 0.7 до 6.0 Заранее большое спасибо. P.S. Метод ey*ln x не предлагать :) |
|
|
Дата: Июл 24, 2004 03:22:06 A в степени m/n = корень n-ой степени из A в степени m при некоторых условиях. |
|
|
Дата: Июл 24, 2004 03:23:49 Asterix Спасибо, но мне кажется что вычисления корня n-ой степени не легче, чем вычисление дробной степени. Или я не прав? |
|
|
Дата: Июл 24, 2004 10:11:11 Если я еще не забыл матан напроч (а это очень возможно), то корень можно заменить соответствующим рядом, а ряд - это цикл. Я прав? |
|
|
Дата: Июл 24, 2004 10:30:48 Только рядом, где степени не (a-1) .. (a-2) , я то всё равно столкнешься опять с дробными степенями. Мож как по син. можно разложить. Сопроцессор тогда поможет... P.S. В матане я не силен... |
|
|
Дата: Июл 24, 2004 21:50:40 Вот здесь парень один написал что-то на эту тему (сам не проверял): http://forum.vingrad.ru/index.php?showtopic=21898 |
|
|
Дата: Июл 25, 2004 01:22:43 Так чем же возведение в дробную степень отличается от целого числя? Если делаетса через FPU то совсем не важно. |
|
|
Дата: Июл 25, 2004 02:13:48 Всем большое спасибо! _Chingachguk_ Там обсуждается возведение в целую степень дробного числа - а мне надо наоборот :( n0p PavPS ey*ln x тоже можно разложить на ряд. Но, если честно во-первых не хочется мучится, во-вторых это, мне кажется, не очень-то и быстро, в-третьих не силен я в этом :( comrade А нельязя ли пример, пожалуйста? А то у меня не получилось :( Я нашел выход, но для конкретного, моего случая: мне удалось все свести к возведению только в ОДНУ дробную степень ограниченого кол-ва чисел. Так что я просто заранее просчитал эти значения и занес их в массив, откуда по мере надобности их и извлекаю. Но хотелось бы более общего решения, для саморазвития :) Может кто знает? |
|
|
Дата: Июл 25, 2004 08:04:20 tasman На сколько я понял в том топике обсуждаются оба варианта, и возведение целого в дробную степень и возведение дробного в целую. Первый вариант реализуется путём разделения степени на целую и дробную (-1<Х>1). Затем целое поочерёдно возводится в целую степень, затем в дробную, потом результаты умножаются. Если я конечно не ошибся. |
|
|
Дата: Июл 25, 2004 10:56:40 tasman Нашел в умной книжке разложение. ex = 1 + x + x2/2! + ... + xn/n! т.е. твой ey*ln x будет выглядеть примерно так: 1 + y*ln x + (y*ln x)2/2! + ... + (y*ln x)n/n! + .. y*ln x нужно посчитать 1 раз(!) и потом мучений не будет никаких. Все очень просто. n ограничивает точность. Практически для любой задачи достаточно около 10 членов. |
|
|
Дата: Июл 26, 2004 02:53:54 pas _Chingachguk_ Да, я действительно пропустил. В той статье идет речь и о возведении также и в дробную степень. Спасибо. n0p Да, я понимаю. Но все-таки методпредложенный в статье, прдложеной _Chingachguk_мне кажется будет побыстрее. А с разложением - все равно каждый раз придется считать этот ряд. И причем в каждом члене, за исключением первых двух бедет присутствовать 2 умножения и одно деление. Да еще и сложение самих членов. Многовато будет :) Но все равно спасибо. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063 |