|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.03.2009, 21:14 | #1 |
Пользователь
Регистрация: 20.05.2008
Сообщений: 23
|
Delphi, "Floating point overflow" что делать?
Привет всем.
Вот программа по построению эуткой функции Код:
Вот на всякий случай сама программа http://rapidshare.de/files/46340095/function.rar.html |
26.03.2009, 23:24 | #2 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 38
|
нет, ошибка возникает не из-за загроможденности, а из-за того, что результат вычислений очень велик
... даже d1:=(exp(IntPower(10,10))); выдаст ту же ошибку поскольку intPower(10,10) уже болшое число, а ты еще пытаешься его запихнуть в Exp(...)
Чем меньше вы знаете, тем больше я ценен как специалист...
|
27.03.2009, 17:02 | #3 |
Пользователь
Регистрация: 20.05.2008
Сообщений: 23
|
А что можно здесь сделать, чтобы обойти?
|
27.03.2009, 19:43 | #4 |
Пользователь
Регистрация: 23.02.2009
Сообщений: 38
|
...обойти это можно только формально...
попробуй вынести за скобки, соблюдая все математические правила, всего вычисления эти самые IntPower... в итоге у тебя может получиться, допустим, intPower(10,20)*Exp(...) и строй график без учета intPower, а в сноске к графику пиши поправку величин (1ед = 10в20 степени). .... так сказать смасштабировать вычисления
Чем меньше вы знаете, тем больше я ценен как специалист...
|
29.03.2009, 17:22 | #5 |
Пользователь
Регистрация: 20.05.2008
Сообщений: 23
|
Но как вынести 10 в 10 с\тепени из под экспоненты, а 10 в 19 из под синуса?
Ради интереса убрал все инт поверы с функции, при нажатии кнопки построить ошибки не выдает, но графика на рисунке не появляется, почему? Последний раз редактировалось Stilet; 01.04.2009 в 16:52. |
29.03.2009, 18:39 | #6 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
30.03.2009, 20:17 | #7 |
Пользователь
Регистрация: 20.05.2008
Сообщений: 23
|
DomiNick какое отношение твой последний комментарий в той теме имеет дело к этой теме?!
ТЕперь по поводу данной программы. В данной программе все объявлено и все четко, но видимо и не четко, DomiNick, если не знаешь ответа, то не пиши не нужных комментариев. Последний раз редактировалось xMass; 30.03.2009 в 20:30. |
30.03.2009, 20:29 | #8 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Хм... Что это за жуткая формула?.. Обязательно именно её строить?..
Цитата:
Код:
P.S. Для начала замени эту формулу на какую-нибудь простую... А тем переменным лучше заранее хоть какие-то значения задавать...
I am the First of Cyber Evolution...
I am the First to Program your Future... Последний раз редактировалось DomiNick; 30.03.2009 в 20:31. Причина: без причины... |
|
30.03.2009, 21:06 | #9 | |
Пользователь
Регистрация: 23.02.2009
Сообщений: 38
|
Цитата:
...(на уровне школы)
Чем меньше вы знаете, тем больше я ценен как специалист...
|
|
01.04.2009, 00:58 | #10 |
Пользователь
Регистрация: 20.05.2008
Сообщений: 23
|
1) Это уже упрощенная формула от
[Sin(k1*d1)*(-k1)*Cos(k1*d1)/Cos(k1*(2*d1+d2))]*[(-k2)*exp(k2*d1)*exp((-k2)*(d1+d2))-exp(k2*(d1+d2))*k2*exp((-k2)*d1)]+[k1*Cos(k1*d1)*Sin(k1*d1)/Cos(k1*(2*d1+d2))]*[(-exp(k2*d1))*(-k2)*exp((-k2)*(d1+d2))+k2*exp(k2*(d1+d2))*exp ((-k2)*d1)]-[Sin(k1*d1)*Sin(k1*d1)/Cos(k1*(2*d1+d2))]*[(-k2)*exp(k2*d1)*(-k2)*exp((-k2)*(d1+d2))-k2*exp((-k2)*(d1+d2))*k2*exp((-k2)*d1)]-[k1*Cos(k1*d1)*(-k1)*Cos(k1-d1)/Cos(k1*(2*d1+d2))]*[(-exp(k2*d1))*exp((-k2)*(d1+d2))+exp(k2*(d1+d2))*exp((-k2)*d1)] k1=sqrt(E*3.2*10^19) k2=sqrt((U-E)*3.2*10^19) Упрощала программа wolfram mathematica Не понял про бегин и энд По поводу П.С.: я пробовал так, не помогло. Niarb Совет не актуален, потому что даже без интповеров график не строится. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Странная проблема с floating-point | Niello | Общие вопросы C/C++ | 0 | 08.10.2008 14:30 |
Invalid floating point operation | Skytis | Помощь студентам | 3 | 07.05.2008 12:16 |
при пустой ячейке выскакивает "is not a valid floating point value" ПОМОГИТЕ | serserser | Помощь студентам | 17 | 14.11.2007 07:46 |