Цитата:
Сообщение от Veina
Здравствуйте. Помогите, пожалуйста разобраться с программой. Дано уравнение f(x)=1+sin(x)-1.14*exp(-x). Найти наименьший корень уравнения с точностью е=0.00005, используя метод Ньютона. И вывести х0, х1, х2,...,хn. То есть вывести эти приближенные корни, которая прога считает в процессе и мне выдает окончательный результат. Прога считает неправильно. Не пойму в чем дело. Ответ должен быть примерно 0.0666.
|
Да нет, правильно, это и выдает. Если, конечно, исправить несколько ошибок:
1. Уберите в теле функции Newton повторное введение файловой переменной t - она должна остаться ТОЛЬКО в списке глобальных переменных.
2. В той же функции знак неравенства в условии выхода из цикла должен быть обратным тому, что у Вас, т.е. цикл прерывается, когда разность становится МЕНЬШЕ е.
3. Из тела того же цикла в той же процедуре уберите экранный вывод - только мешает и путает.
4. Исходное значение следует брать близким к искомому корню, например 0.1, ну можно 0.2. Если взять сильно отличающееся, то программа найдет другой корень или вовсе пойдет в разнос.
Вроде всё.
Удачи!