Найти корень Функции на заданном промежутке с заданной точностью - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти корень Функции на заданном промежутке , с точностью, двумя способами. Первый способ: Четные номера вариантов - методом половинного деления , нечетные - методом хорд . Второй способ: Метод причастность ( метод Ньютона) . Точность eps=0.5*10e-4 f(x)=ln*x-x+1.8 Пытался сделать,но увы. Надеюсь кто-то поможет (Метод Ньютона,вообще не понимаю как делать).
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main(void) {
  4. float a=2,b=3;
  5. float x,y;
  6. float eps=10,e=-4;
  7. for (;;)
  8. {
  9. x=(b+a)/2;
  10. y=log10(x)-x+1.8;
  11. if(fabs(y)<eps) break;
  12. if(y*(log10(x)-x+1.8)*b>0)b=x;
  13. else a=x;
  14. }
  15. printf("%f,%f",x,y);
  16. return 0;
  17. }
Все что смог сделать Ньютона так и не разобрался

Решение задачи: «Найти корень Функции на заданном промежутке с заданной точностью»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. double f1(double x)
  5. {
  6. double f1 ;
  7. f1=log10(x)-x+1.8;
  8. return f1;
  9. }
  10. double f2(double x)
  11. {
  12.     double f2 ;
  13.  f2=(1/x)-1+1.8;
  14. return f2;
  15. }
  16.  
  17. int main()
  18. {
  19. double x ;
  20. int a=2;
  21. int b=3;
  22. int eps=0.00005;
  23.  
  24. if ((f1(a)*f2(a)) > 0)
  25. {
  26.     x=a;
  27. }
  28. else
  29. {
  30.     x=b;
  31. }
  32. while (abs(f1(x)) > eps )
  33. {
  34.     x=x-f1(x)/f2(x);
  35. }
  36. printf("x=%lf",x);
  37. printf("f(x) = %lf",f1(x));
  38.     return 0;
  39. }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: iostream.h и math.h
  2. Определяются две функции: f1 и f2, которые принимают на вход число x и возвращают значения функций на этом интервале.
  3. В функции main() задаются начальные значения переменных: x, a, b и eps.
  4. Проверяется, какой из корней a или b является решением системы уравнений, для этого используется условие (f1(a)*f2(a)) > 0.
  5. Если условие выполняется, то x приравнивается к a, иначе к b.
  6. Используя метод итерации, в цикле while происходит приближение к корню, пока абсолютное значение функции не станет меньше заданной точности eps.
  7. Выводится найденное значение x и значение функции f1(x).
  8. Функция main() возвращает 0, заканчивая работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы