Найти корень Функции на заданном промежутке с заданной точностью - C (СИ)
Формулировка задачи:
Найти корень Функции на заданном промежутке , с точностью, двумя способами.
Первый способ:
Четные номера вариантов - методом половинного деления , нечетные - методом хорд .
Второй способ:
Метод причастность ( метод Ньютона) .
Точность eps=0.5*10e-4
f(x)=ln*x-x+1.8
Пытался сделать,но увы.
Надеюсь кто-то поможет (Метод Ньютона,вообще не понимаю как делать).
Все что смог сделать
Ньютона так и не разобрался
#include <stdio.h> #include <math.h> int main(void) { float a=2,b=3; float x,y; float eps=10,e=-4; for (;;) { x=(b+a)/2; y=log10(x)-x+1.8; if(fabs(y)<eps) break; if(y*(log10(x)-x+1.8)*b>0)b=x; else a=x; } printf("%f,%f",x,y); return 0; }
Решение задачи: «Найти корень Функции на заданном промежутке с заданной точностью»
textual
Листинг программы
#include <stdio.h> #include <math.h> double f1(double x) { double f1 ; f1=log10(x)-x+1.8; return f1; } double f2(double x) { double f2 ; f2=(1/x)-1+1.8; return f2; } int main() { double x ; int a=2; int b=3; int eps=0.00005; if ((f1(a)*f2(a)) > 0) { x=a; } else { x=b; } while (abs(f1(x)) > eps ) { x=x-f1(x)/f2(x); } printf("x=%lf",x); printf("f(x) = %lf",f1(x)); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: iostream.h и math.h
- Определяются две функции: f1 и f2, которые принимают на вход число x и возвращают значения функций на этом интервале.
- В функции main() задаются начальные значения переменных: x, a, b и eps.
- Проверяется, какой из корней a или b является решением системы уравнений, для этого используется условие (f1(a)*f2(a)) > 0.
- Если условие выполняется, то x приравнивается к a, иначе к b.
- Используя метод итерации, в цикле while происходит приближение к корню, пока абсолютное значение функции не станет меньше заданной точности eps.
- Выводится найденное значение x и значение функции f1(x).
- Функция main() возвращает 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д