Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

Помогите разобраться !   Найти похожие ветки 

 
SPeller ©   (2002-05-15 13:56) [0]

Процедурка у меня есть небольшая, которая ситает значение по формуле выглядит так:

function Formula(const A:targs):double;
begin
result:=a.A/(a.X1*a.X)+a.B*exp(a.X2*ln(a.X))+a.C;
end;


Запись выглядит так:

TArgs=record
A,B,C,X,X1,X2:double;
end;


Так вот, при выполнении этой процедуры вылазит "Invalid Floating Point Operation". Не пойму, чё тут не так? Подскажите, пожалуйста!


 
cult ©   (2002-05-15 13:58) [1]

Может, чего не так делишь?
Или логарифм от нуля считаешь? Это ошибка.
Проверь...


 
SPeller ©   (2002-05-15 14:04) [2]

Да, совсем вот забыл. Параметры передаю такие:

A=12.3, B=3, C=-1, X=-10, X1=1, X2=2


 
SPeller ©   (2002-05-15 14:06) [3]

А логарифм от отрицательного числа считается или нет?


 
cult ©   (2002-05-15 14:10) [4]

Вообще-то я математику давно изучал...

Но вот я не пойму:
В какую степень надо возвести положительное число (то бишь экспоненту, Е), чтобы получилось отрицательное число (то бишь -10)????? Функция LN(логарифм) как раз и занимается выяснением этой задачи.
Нет ничего удивительного, что ей так трудно....:)

Если попроще - передаешь неправильные параметры LN(a.X)=LN(-10), это вычислить невозможно. Исправляй.


 
Alx2 ©   (2002-05-15 14:27) [5]

Complex :)


 
SPeller ©   (2002-05-15 14:36) [6]

2cult
Я тоже в математике не силён...

Как по-другому возвести число в степень N если N дробное ??


 
MBo ©   (2002-05-15 14:39) [7]

Power, но она использует то же y^x=e^(x*ln(y))

дробное и отрицательное - разные вещи


 
SPeller ©   (2002-05-15 15:13) [8]

Ну и с отрицательными числами тоже надо чтоб работало. Решается же это как-то, только как?


 
AFROLOV ©   (2002-05-15 15:23) [9]

Решается это через переход к комплексным числам.
Или для отрицательных X изобрести, исходя из исходной задачи, специальную формулу. Возможно, что при отрицательных X задача вырождается в другую.
Так же имеет смысл выявить ограничения на входные параметры (исходя из решаемой задачи). Возможно, что при X<0 задача не имеет смысла.


 
SPeller ©   (2002-05-15 16:42) [10]

Ну почему же не имеет? Разве степени из отрицательного числа не существует?


 
MBo ©   (2002-05-15 16:53) [11]

в элементарной математике не существует.


 
SPeller ©   (2002-05-15 23:30) [12]

Что и никто не знает как такое сделать??


 
MBo ©   (2002-05-16 07:31) [13]

да что сделать-то?


 
SPeller ©   (2002-05-16 08:54) [14]

Найти значение ЛЮБОГО числа в ЛЮБОЙ степени. Сёдня озадачил этой проблемой нашего математика в универе, сказал подумает. Но до того как он скажет свои доводы, пройдёт неделя, а это не позволительно. Может быть здесь кто-нибудь знает?


 
MBo ©   (2002-05-16 09:12) [15]

тебе же сказали - для отрицательных чисел определена только целая степень, считается как
result:=exp(iy*ln(abs(x)));
if (x<0) and odd(iy) then result:=-result;

если степень нецелая, получается КОМПЛЕКСНОЕ ЧИСЛО
пример
x=r*exp(i*fi)
x^y=r^y*exp(i*y*fi)

2=2*exp(i*0)=2*(cos(0)+i*sin(0))
2^-2=2^-2*exp(i*(-2)*0) - действ. число

-2=2*exp(i*pi)
-2^2.5=2^2.5*exp(i*2.5*pi)=2*2.5*(cos(2.5*pi)+i*sin(2.5*pi)) -
появилась ненулевая мнимая часть, число уже комплексное.



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

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
1-88435
cult
2002-05-16 18:59
2002.05.27
Снова компоненты.:(


1-88440
Alibaba
2002-05-17 12:53
2002.05.27
Как раcшарить диск?


1-88447
roman_tutov@mail.ru
2002-05-17 11:24
2002.05.27
Опять треды


3-88313
Praco
2002-04-29 11:01
2002.05.27
Гетерогенные запросы в InterBase.


1-88553
Hela
2002-05-16 14:16
2002.05.27
Экспорт из FastReport в Word