Как отыскать корешки уравнения ln(x)=1/x в интервале [0;2] с погрешностью 10^-10?

Как отыскать корешки уравнения 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*f2lt;0;

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

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

x:=(a+b)/2;

while abs(func(x))gt;eps do

begin

if func(a)*func(x)lt;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 (у меня так получилось

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт