Читать курсовая по Отсутствует: "Нахождение корня уравнения методом дихотомии и методом касательных" Страница 3
.2. с=(1+1,25)/2=1,125 f(a)*f(c)=(1-sin(1)-0,25)*(1,25-sin(1,125)-0,25)= -0,0914709*(-0,24967)>0 a:=c; a=1,125 d=(b-a)\2; d=(1,25-1,125)/2=0,0625>0,001 Условие не опровергнуто
.3. с=(1,125+1,25)/2=1,1875 f(a)*f(c)= (1,125-sin(1,125)-0,25)*(1,25-sin(1,25)-0,25)=-0,027268*0,0100630,001 Условие не опровергнуто
.4. с=(1,125+1,1875)/2=1,15625 f(a)*f(c)=(1,125-sin(1,125)-0,25)*(1,1875-sin(1,1875)-0,25)=
=-0,027268*(-0,009049)0,001 Условие не опровергнуто
.5. с=(1,1563+1,1875)/2=1,171875 f(a)*f(c)=(1,1563-sin(1,1563)-0,25)*(1,1875-sin(1,1875)-0,25)=
= -0,009049*0,0003940,001 Условие не опровергнуто
.6. с=(1,1563+1,1719)/2=1,164063 f(a)*f(c)=( 1,1563-sin(1,1563)-0,25)*(1,1719-sin(1,1719)-0,25)=
=-0,009049*(-0,004355)>0 a:=c; a=1,1641 d=(b-a)\2; d=(1,1719-1,1641)/2=0,003906>0,001 Условие не опровергнуто
.7. с=(1,1641+1,1719)/2=1,167969 f(a)*f(c)=( 1,1641-sin(1,1641)-0,25)*(1,1719-sin(1,1719)-0,25)=
=-0,004355*(-0,001987)>0 a:=c; a=1,168 d=(b-a)\2; d=(1,1719-1,168)/2=0,001953>0,001 Условие не опровергнуто
.8. с=(1,1680+1,1719)/2=1,169922 f(a)*f(c)=(1,1680-sin(1,1680)-0,25)*( 1,1719-sin(1,1719)-0,25)=
=-0,001987*(-0,000798)>0 a:=c; a=1,1699 d=(b-a)\2; d=(1,1719-1,1699)/2=0,0009770, т.е. сохраняют знак, следовательно, условие выполняется.
. Выберем значение x0 для метода касательных. Т.к. f’’(x)>0 и f(1)>0, то x0=1.
. Итерационная формула метода Ньютона будет такой: . Применяя эту формулу, последовательно находим:
Таким образом, корень уравнения x=1,118 с точностью ε = 0,001. Как мы видим, значение корня с нужной нам точностью было получено на втором шаге. (Третий шаг понадобился для того, чтобы можно было убедиться, что с нужной нам точностью значение перестало изменяться). 3. Программная реализация
3.1 Блок-схемы алгоритмовБлок-схема алгоритма к методу дихотомии
Блок-схема алгоритма к методу касательных
3.2 Тексты программ
Текст программы метода дихотомии на языке Delphi unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TButton;: TEdit;: TEdit;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);f(x:real):real; {Уравнение}:=x-sin(x)-0.25;;b,a,c,d,e,x:real;:=strtofloat(edit1.text); :=strtofloat(edit2.text) ;:=strtofloat(edit3.text) ;:=(a+b)/2 ;:=(b-a)/2 ;d>e do:=(a+b)/2;f(c)>0 then b:=c{выбор точки сближения}a:=c;:=(b-a)/2;;:=(b+a)/2;.text:='x = '+floattostrf(x,fffixed, 10,8);
end;.
Текст программы метода касательных на языке Delphi
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TButton;: TLabel;: TLabel;: TLabel;: TEdit;: TLabel;: TLabel;: TEdit;: TLabel;: TEdit;: TEdit;: TLabel;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);f(x:real):real;{Èñõîäíàÿ ôóíêöèÿ}:=x-sin(x)-0.25;;f1(x:real):real;{Ïåðâàÿ ïðîèçâîäíàÿ ôóíêöèè}:=1-cos(x);;f2(x:real):real;{Âòîðàÿ ïðîèçâîäíàÿ ôóíêöèè}:=Sin(x);;a,b,x,y,e:real;:=strtofloat(edit1.Text);:= strtofloat(edit2.Text);:=strtofloat(edit3.Text); f(a)*f2(a)>=0 then x:=a else x:=b; {Выбор начальной точки приближения}
repeat:=f(x)/f1(x);:=x-y;abs(y)
Похожие работы
Интересная статья: Основы написания курсовой работы

(Назад)
(Cкачать работу)