Помощь - Поиск - Пользователи - Календарь
Полная версия: Решить уравнение x = tgx
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
НичегоНеЗнаю
Нужно решить уравнение x=tgx методом касательных(Ньютона).
Пробовала взять образец программы и переделать под свое уравнение,вот что получилось. В итоге не правильно. Исправьте кто нибудь, пожалуйста. mega_chok.gif

{$n+}
function kas(start, Eps: Extended): Extended;
var
X, prev: Extended;
function F(Arg: Extended): Extended;
begin
f := (sin(x)/cos(x)) - x
end;
function deriv(Arg: Extended): Extended;
begin
deriv := (1/(cos(x)*cos(x)) - 1);
end;
begin
X := start;
repeat
prev := X;
X := prev - F(prev) / Deriv(prev);
Until Abs(X - prev) <= Eps;
kas := X
End;
Var a, Eps: Extended;
begin
writeln('vvedite nachalnoe priblizjenie a');
read(a);
writeln('vvedite tochnost Eps');
read(Eps);
writeln('koren raven= ', kas(a, Eps)10.gif7);
end.



Добавлено через 2 мин.
там где возник зеленый смайлик,стыдливо шаркающий ножкой, должно быть : 10 :
volvo
Цитата
В итоге не правильно.
unsure.gif С чего решила, что неправильно? Все правильно как раз. При начальном приближении = 1 и точности 0,001 выдает правильный результат.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.