Добрый Вечер!!! Помогите Пожалуйста устранить ошибку!
program MetodNuytona;
const eps = 1e-6;
var x,x0: real;
Function f(x: real): real;
begin
f:=ln(exp(ln(2)*x)-5)/ln(3)+ln(exp(ln(2)*x)-7)/ln(3)-1;
end;
Function f1(x: real): real;
begin
f1:=exp(ln(2)*x)*ln(2)/((exp(ln(2)*x)-5)*ln(3)+exp(ln(2)*x)*ln(2))/((exp(ln(2)*x)-5)*ln(3));
end;
Begin
writeln;
writeln('Решение нелинейного уравнения f(x)=0');
writeln;
write('x0 = ');
read(x0);
writeln;
x:=x0;
repeat
x:=x-f(x)/f1(x);
until abs(f(x)/f1(x))<eps;
writeln('Метод Ньютона**:');
writeln;
writeln('x=',x:8:5);
End.
program MetodNuytona;, и
uses math;
const
eps = 1e-6;
function f(x: real): real;
begin
writeln('x = ', x:10:5,
'| 2^x - 5 = ', (power(2, x) - 5):10 :5,
'| 2^x - 7 = ', (power(2, x) - 7):10 :5);
f := logn(3, power(2, x) - 5) +
logn(3, power(2, x) - 7) - 1;
end;
function f1(x: real): real;
begin
f1 := ( power(2, x + 1) * (power(2, x) - 6) * ln(2) ) /
( (power(2, x) - 7) * (power(2, x) - 5) * ln(3) );
end;
var
x, x0 : real;
begin
writeln;
writeln('Решение нелинейного уравнения f(x)=0');
writeln;
write('x0 = '); readln(x0);
writeln;
x:=x0;
repeat
x:=x-f(x)/f1(x);
until abs(f(x)/f1(x))<eps;
writeln('Метод Ньютона**:');
writeln;
writeln('x=',x:8:5);
end.
Решение нелинейного уравнения f(x)=0
x0 = 5
x = 5.00000| 2^x - 5 = 27.00000| 2^x - 7 = 25.00000
x = 1.83035| 2^x - 5 = -1.44377| 2^x - 7 = -3.44377
An unhandled exception occurred at $0040FD20 :
EInvalidOp : Invalid floating point operation
program MetodNuytona;, и
uses math;
const
eps = 1e-6;
function f(x: real): real;
begin
writeln('x = ', x:10:5,
'| 2^x - 5 = ', (power(2, x) - 5):10 :5,
'| 2^x - 7 = ', (power(2, x) - 7):10 :5);
f := logn(3, power(2, x) - 5) +
logn(3, power(2, x) - 7) - 1;
end;
function f1(x: real): real;
begin
f1 := ( power(2, x + 1) * (power(2, x) - 6) * ln(2) ) /
( (power(2, x) - 7) * (power(2, x) - 5) * ln(3) );
end;
var
x, x0 : real;
begin
writeln;
writeln('Решение нелинейного уравнения f(x)=0');
writeln;
write('x0 = '); readln(x0);
writeln;
x:=x0;
repeat
x:=x-f(x)/f1(x);
until abs(f(x)/f1(x))<eps;
writeln('Метод Ньютона**:');
writeln;
writeln('x=',x:8:5);
end.
Решение нелинейного уравнения f(x)=0
x0 = 5
x = 5.00000| 2^x - 5 = 27.00000| 2^x - 7 = 25.00000
x = 1.83035| 2^x - 5 = -1.44377| 2^x - 7 = -3.44377
An unhandled exception occurred at $0040FD20 :
EInvalidOp : Invalid floating point operation
Нет, просто нельзя брать логарифмы от отрицательных чисел. Начальное приближение должно быть таким, чтобы при вычислении функции не надо было делать запрещенных вещей. От 2.8 до 3.4 программа прекрасно отрабатывает.
Значит, проверяй, правильно ли вычисляется производная в твоей программе. Похоже, что нет...
Так это вроде то же самое, только к общему знакменателю приведено.
Buy Brand Valtrex
Buy Cheap Viagra Online
Viagra Naturale Femminile