Здравствуйте, гость ( Вход | Регистрация )
| Белый пони | Дата 5.3.2011, 14:18 |
| Разобрался. Где в функции toFile инициализируется переменная hi? После второго вывода в cerr? Нет. Виноват, забыл уточнить. Она инициализируется там где многоточие, причём как результат деления, т.е. дробь с большим количеством цифр после запятой, чем в "233.623" . В итоге аргументы в двух случаях, оказались немного разные (разница в 4-м знаке). А с учётом того, что по краям ( вблизи -1 и +1) у арккосинуса бесконечная производная, то эта четвёртая цифра дала серьёзную ошибку. Ошибка была в том, что выражение учитывает только случай ( аргумент > +1 ). ( у значений типа 1,00000023, отрезает "хвост" - погрешнось делния double'ов) .отдельно расписал условия для ( аргумент < -1) и (аргумент >+1) и всё заработало. Спасибо что уделили мне время! |
|
| Kagami | Дата 5.3.2011, 12:07 |
| Где в функции toFile инициализируется переменная hi? После второго вывода в cerr? | |
| Белый пони | Дата 5.3.2011, 11:07 |
| Здравствуйте! Совсем не могу понять как так. вот функция fX®: При этом такой кусок кода: выдаёт такой результат: Как так получается Я не понимаю каких-нибудь основ С++ ? (остальные переменные - l12, l13, beta23, I1, I2, sqI13 - члены класса MainWidget, вычисляемые один раз в конструкторе) |
|
| Просмотр темы полностью (откроется в новом окне) | |
|
Текстовая версия | Сейчас: 24.1.2026, 8:40 |