• Как найти корни уравнения ln(x)=1/x в интервале [0;2] с погрешностью 10^-10? Для определения границ минимального отрезка, на котором функции меняет знак, используйте шаг прогрессия, равный 0,1.Используя метод: ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ (МЕТОД ПРОСТЫХ ИТЕРАЦИЙ) или МЕТОД ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (МЕТОД ДИХОТОМИИ). Помогите пожалуйста, хотя бы как начать.

Ответы 2

  • Можно, например, так (метод деления пополам):

    const eps=10E-10;

    function func(x:real):real;

    begin

    func:=ln(x)-1/x;

    end;

    var a,b,h,x,f1,f2: real;

    begin

    a:=0; h:=0.1;

    a:=a+h;

    f2:=func(a);

    repeat

    f1:=f2;

    a:=a+h;

    f2:=func(a);

    until f1*f2<0;

    b:=a; a:=a-h;

    writeln('a = ',a,'  b = ',b);

    x:=(a+b)/2;

    while abs(func(x))>eps do

    begin

    if func(a)*func(x)<0 then b:=x

    else a:=x;

    x:=(a+b)/2;

    end;

    writeln('x = ',x);

    end.

    Результат:

    a =  1.7000000000000004E+000  b =  1.8000000000000005E+000

    x =  1.7632228344678880E+000

  • это будет 40 (у меня так получилось

    • Автор:

      zaneo5wj
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years