![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Krjuger |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
В общем это некое продолжение моей прошлой темы,только обрастающее новыми подробностями.
У меня дана функция x(expx-1).Я эту функцию раскладываю я ряд Тейлора и получаю сумма от 1 до N от xn+1/n!. Чтобы найти относительную погрешность мне надо а -n ый член разделить на сумму ряда,все это по модулю.Ну в общем то ,я думаю, вы и так понимаете как это делать.Суть заключается в том,у меня опять есть ограниченная разрядность мантисы и мне надо посмотреть как она будет влиять на результат.И как будет меняться N при которых мы будем выходить за граници возможностей нашей машины. Я немного абстрагировался от этой задачи.что я сделал, при помощи маткада я посчитал,при каком N будет достигаться относительная погрешность на грани машинного эпсилон 10-16,это N =24.Да забыл сказать,что точка в которой мы раскладываем ряд у меня дана.Это -2.3.Затем я высчитал значение этой погрешности она составила 8.602898672363349*10^-16.Дальше я посомтрел как оно себя будет вести при разрядах мантисы от 10 до 25,при фиксированных исходных данных.Для рязрядности с 10 до 16 я получил ожидаемый результат,но дальше начало твориться что то вообще непонятное.Ну или точнее я не могу понять, как это интерпретировать. ![]() Прикрепленные файлы ![]() |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Я немного поработал на округлением,а то до этого не совсем корректно выводились данные и в итоге пришел к следующему варианту.
Для точки x1 вроде правильно считает,но с выводом нечто неладное. Volvo,Вы раньше упоминали,что выводить надо с точностью до десятой,я не совсем понял при каких случаях.Например,nxt = -4.5E-02 ,что равно -0.045 при эпсилон 0.0625 при выводе правильно выводить -0.04 или все равно выводить -0.045?Просто как я не крутился,но ответ предстает в виде. ![]() Если я хочу вывести все таки -0.045,то тогда у меня у всех чисел начинают появляться по 1 цифре... Следующий вопрос,можно ли как то принудительно заставить выводить через экспоненту,потому что для второго корня числа выводятся не очень красиво. ![]() Ну и последний вопрос,можно ли все это как нибудь оптимизировать,потому,что я программе очень много повторяющегося кода,и слишком много на мой взгляд циклов,но как от них избавиться я не знаю. Надеюсь мне все таки ответят. ![]() |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 14:17 |