Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];

Вниз

Степень в Паскале.   Найти похожие ветки 

 
Miwa   (2002-04-19 11:01) [0]

Как можно россчитать сабж? Есть старая формула типа a:=exp(b*ln(c)), но ведь она работает только с с>0. А в других случаях надо проверять знаки для b, c. И потом, при c->0 ln(c)->бескончность. Так есть ли возможность посчитать иначе?


 
Alx2   (2002-04-19 11:14) [1]

Конечно :)
если a<>0 то
a^b=exp(b*ln(abs(a)))*cos(b*(1/2-1/2*signum(a))*Pi)+I*exp(b*ln(abs(a)))*sin(b*(1/2-1/2*signum(a))*Pi)
где signum(x)=x/abs(x)


 
Romkin   (2002-04-19 11:27) [2]

Дробная степень не определена для отрицательных значений, и всегда считается именно по данной формуле. exp(b*ln(c)) ... c^(-b). А при с -> 0 ln(c) -> минус бесконечность, и ехр(b*ln(c)) -> 0
Так что все верно
отрицательные числа в математике можно возводить только в целую степень


 
Alx2   (2002-04-19 11:51) [3]

>отрицательные числа в математике
>можно возводить только в целую степень
Ну-ну...


 
Antiox   (2002-04-19 12:13) [4]

отрицательные числа в математике можно возводить только в целую степень

:)))

>Miwa © (19.04.02 11:01):

Посмотрите исходники функции Power, которая находится в Math.pas и перенесите её в свою программу.
Если это не подходит, то в любом случае - всегда можно воспользоваться разложением в ряд с заданной точностью.


 
VictorT   (2002-04-19 13:55) [5]


> Посмотрите исходники функции Power, которая находится в Math.pas и перенесите её в свою программу.

А вот и не заканает, сам глянь


 
Miwa   (2002-04-19 14:06) [6]

Да, там как раз то, что мне не понравилось:
For fractional exponents, or |exponents| > MaxInt, base must be > 0.
Как там насчет разложения в ряд? ;о))


 
Alx2   (2002-04-19 14:12) [7]

>Как там насчет разложения в ряд? ;о))

Ребята, вы чего?!
Какой на фиг ряд. Для возведения в степень-то. (А если ряд степенной, как в нем возводить?:))
Разве трудно перед a:=exp(b*ln(c)) проверку на допустимость только лишь значения "c" сделать? Если нужно в комплексной форме (чтобы и для отрицательных и для положительных) - то см. Alx2 © (19.04.02 11:14)


 
Romkin   (2002-04-19 14:29) [8]

я хотел сказать, что операция возведения отрицательного числа в степень с показателем, не представимым в виде p/q, где p & q - целые числа, в алгебре не определена, именно по причине того, что возведение в такую степень определяется как exp(b*ln(c)), также не определено возведение отрицательного числа в степень вида p/q где 1. q - четное, 2. p & q - взаимно простые (допустим, 1/2, sqrt(c) - дает ошибку даже на калькуляторе). Условие (2) приводит к тому, что p - нечетное
Так лучше?
Выход: в случае представления степени в виде p/q (q - нечетное, p & q - взаимно простые) просто res := -power(-c,p/q) при c<0
в случае целой степени та же функция отработает правильно в любом случае (uses Math)


 
Alx2   (2002-04-22 08:16) [9]

>Romkin © (19.04.02 14:29)
см. поле комплексных чисел



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
4-17755
JAndrey
2002-02-28 07:13
2002.05.06
Как заблокировать ТОЛЬКО мышь?


3-17483
Иванов
2002-04-12 13:59
2002.05.06
удаление


14-17670
Alex12
2002-03-28 16:30
2002.05.06
Первоапрельские приколы


1-17530
Юляша
2002-04-23 21:05
2002.05.06
Активизация формы


1-17622
Explorer
2002-04-19 08:35
2002.05.06
Проблема с RXLib





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский