![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.10.2009
Сообщений: 13
|
![]()
Доброго времени суток.
Вычисляю нелинейное уравнение, пытаюсь строить график В ходе вычислений ловлю Invalid floating point operation Это собственно вычисление функции на текущем значении икса, arg - это аргумент. Код:
![]() Я понимаю, что здесь куча мест, где можно словить 0. Как быть в такой ситуации? Гуру, помогите |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]()
Попробуйте упростить математически эту формулу.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.10.2009
Сообщений: 13
|
![]()
Упростил бы, да не силен в тригонометрии, и смутно знаю что такое логарфим.
Если бы вы помогли, был бы Вам крайне признателен. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Разбейте на отдельные команды, чтобы проследить в отладчике где ругаться будет. А то впихнули все в одно выражение
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.10.2009
Сообщений: 13
|
![]()
Уважаемый Аватар, я прослеживал. Почти везде. Наверное буду рисовать график с прерываниями просто, как маткад.
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А на область определения функций нельзя посмотреть? Корень квадратный от минуса не берется, а вашей формуле запросто может минус быть, потому что в аргументе SIN. Логарифм от минуса тоже ошибка, а у вас может быть, поскольку берется от арктангенса. Используйте TRY ... EXCEPT и вперед
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 17.10.2009
Сообщений: 13
|
![]()
благодарю, уже обернул в try except.
а что касается ошибок, так о них написал еще в первом посте. просто думал, что есть какой-то способ упрощения функции, кроме обхода ошибок. в общем спасибо всем, тему можно считать закрытой. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
_SatanA_, есть и очень много.
Разбейте функцию на компоненты и вычисляйте отдельно, там вам будет проще контролировать математику. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.10.2009
Сообщений: 13
|
![]()
Уважаемый Человек_Борща, я не совсем понял Ваш совет.
Если просто считать по частям, деление на ноль в некоторых местах в зависимости от значения икса и аргумента никуда не денется. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а вы аргумент на ноль то проверяете?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Invalid floating point operation на паскале | maziLa | Помощь студентам | 3 | 26.05.2010 19:37 |
invalid floating point operation | Mikhail91 | Общие вопросы C/C++ | 5 | 24.03.2010 00:05 |
Ошибка: invalid floating point operation | Willow | Помощь студентам | 3 | 24.01.2010 18:42 |
invalid floating point operation | mosq | Общие вопросы Delphi | 7 | 01.11.2009 13:28 |
Invalid floating point operation | Skytis | Помощь студентам | 3 | 07.05.2008 12:16 |