Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.09;
Скачать: CL | DM;

Вниз

пожалуйста, нужнпа небольшая помощь в решении нельнейных уравнени   Найти похожие ветки 

 
mathematicsfss   (2009-06-09 19:51) [0]

Здравствуйте.
Пожалуйста, не нудно меня ругать ) не знаю я.
\Появился такой вопрос, допустим мы решаем нелинейное уравнений cos(x)*sin(x)=y
на интервале [a;b], с погрешностью e

Решая его методом половинного деления получается один ответ, решая его методом простых итераций - опять таки другой :(

Метод пполовинного деления:

function FF(X : real):real;
begin
    FF:=cos(x)*sin(x);
end;
...

found:=false;
 a:=strtofloat(edA.text);
 b:=strtofloat(edB.text);
 e:=strtofloat(edE.text);

 while not found do
 begin
 if abs(a-b)<=e then found:=true;
 t:=(a+b)/2;
fsScript1.parent:=fsGlobalUnit;

ft:=ff(t);

fa:=ff(a);

if (fa*ft<0) then
   begin
      b:=t;
   end
   else
   begin
     a:=t;
   end;

 end;
label7.Caption:="Корень уравнения: "+floattostr(t);

Допустим, пробуя решить данное уравнение, на интервале от 1 до 5, получаем ответ 3.

Решая методом хорд, получаю совершенно другой ответ (

Метод хорд:

a:=strtofloat(edA.text);
b:=strtofloat(edB.text);

eps:=strtofloat(edE.text);

 while ((abs(a-b)>eps)and(ff(c)<>0)) do
 begin
  c:=a+abs(ff(a)/(ff(a)-ff(b)))*(b-a);
  if (ff(c)*ff(a)<0) then
  b:=c
  else
  a:=c;
 end;
x:=c; {получили ответ}

label7.Caption:=floattostr(x);

Пожалуйста, покажите где я допускаю ошибку, вроде бы решение правильное, но может ли быть ответ разным, взависимости от метода решения?
Спаяибо


 
palva ©   (2009-06-09 20:16) [1]

А y чему равно, нулю что ли?



Страницы: 1 вся ветка

Текущий архив: 2009.08.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
11-1204892019
nikfel
2008-03-07 15:13
2009.08.09
Как определить Checked выбранного элемента в списке.


15-1244814956
easy
2009-06-12 17:55
2009.08.09
Клиент для местного чата под linux


2-1244455439
Ольга
2009-06-08 14:03
2009.08.09
Недоступна кнопка "Load Icon" в опциях проекта


4-1213906630
pomashok
2008-06-20 00:17
2009.08.09
Эмулирование нажатия WIN+R


15-1243996706
brother
2009-06-03 06:38
2009.08.09
сайт одноклассники хакнули?