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