только вот как проверить? нет у меня ни одного готового примера))))
Account
3.01.2009 3:30
Все,проверил с помощью метода трапеций(результаты положительные))))
P.S. Извиняюсь перед админом за 2 поста подряд, думал он добавит к первому, как произошло ранее в другой теме), а получилось отдельным постом(
Lapp
3.01.2009 10:45
Цитата(Account @ 2.01.2009 23:30)
Все,проверил с помощью метода трапеций(результаты положительные))))
Это не очень хорошая проверка, ибо так ты не проверяешь логику всей программы. Лучше будет, если ты подставишь вместо данной функции такую, которая интегрируется по формулам - например, x или x^2.
Цитата(Account @ 2.01.2009 23:30)
P.S. Извиняюсь перед админом за 2 поста подряд, думал он добавит к первому, как произошло ранее в другой теме), а получилось отдельным постом(
Непонятно, за что ты извиняешься. Разве что-то на эту тему есть в Правилах? Пость сколько угодно, если это не флуд. А объединяются (причем автоматически) сообщения, которые были отосланы не позже, чем через 20 мин.
Account
3.01.2009 14:27
Lapp
Цитата
Это не очень хорошая проверка, ибо так ты не проверяешь логику всей программы. Лучше будет, если ты подставишь вместо данной функции такую, которая интегрируется по формулам - например, x или x^2
Спасибо за совет. Учел, и подставил как ты и советовал x и x^2. Результаты также положительны. (теперь надо делать более привлекательный код программы и еще метод парабол заделать, а мне он что то не очень нравится) (Тяжело вспоминать математику, занимался 4 года назад ей)
Account
3.01.2009 18:39
Нужно решить уравнение методом Ньютона 1-0.4x-arcsin(x)=0. интервал [0;1]. Как представить арксинус?
А пока решал темже методом следующее уравнение exp(x)-x^2=0 интервал [-2,0], вот что вышло
uses crt;
function kor(x,b,eps:double):real;
var
y,d_y:real;
begin
y:=x-((exp(x)-sqr(x))/(exp(x)-2*x));
x:=x+0.0001;
d_y:=x-((exp(x)-sqr(x))/(exp(x)-2*x));
while (abs(d_y-y) >=eps) and (x<=0) dobegin
writeln('--------------------------------------------------');
writeln('x= ',x:5:5,' | exp= ',abs(d_y-y):5:8,' | f= ',exp(x)-sqr(x):5:8);
y:=d_y;
x:=x+0.0001;
d_y:=x-((exp(x)-sqr(x))/(exp(x)-2*x));
end;
end;
var
a,x,b:real;
y,d_y:real;
begin
clrscr;
kor(-2,0,10E-8);
readkey;
end.
; Но проблема в следующем, если уменьшить точность eps до 10E-5, все код неработате, нужно уменьшать шаг. Можно ли как нито избавится от зависимости шаг-точность?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.