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