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

Вниз

Уравнение 0.1+ln(1+x)-sin(1+x)   Найти похожие ветки 

 
Fassy   (2011-03-13 22:57) [0]

нужно решить методом Ньютона и итераций,
я коды прописал, но метод Ньютона не всегда работает (не для всех отрезков заданных а и б)(не могу понять почему(((), а метод итераций при любых заданияях х0 выдаёт ошибку Floating Point Operation... выражал x и через экспоненту и через арксинус(((
Если нужны будут коды, то могу написать(((
Заранее благодарен.
Добавлено 58 минут назад
Метод Ньютона (касательных):
procedure TForm1.Button3Click(Sender: TObject);
var x,m,v,i:real; n:integer;
begin
a:=strtofloat(Edit1.text);
If a<=-1 then
begin
ShowMessage(ошибка");
Exit;
end;

b:=strtofloat (Edit2.Text);
if f1(a)*f1(b)<0 then
begin
if f1(b)*f3(b)>0 then begin
n:=0;
x:=b;
repeat
n:=n+1;
b:=x;
x:=b-f1(b)/f2(b);
m:=f1(x);
until
Abs(m)<e;>0 then begin
n:=0;
x:=a;
repeat
n:=n+1;
a:=x;
x:=a-f1(a)/f2(a);
m:=f1(x);
until abs(m)
Добавлено 57 минут назад
Метод Итераций с заданным приближённым корнем:
procedure TForm1.Button4Click(Sender: TObject);
var x,x0: real;
n: integer;
begin
n:=0;
x:=strtofloat(Edit11.Text);
if abs(f2(x))<1 then
begin
repeat
n:=n+1;
x0:=x;
x:=arcsin(ln(x+1)+0.1)-1;
until E>abs(x-x0);
Edit9.text:=inttostr(n);
Edit10.text:=Format("%8.5F",[x]);
end
else
Edit10.text:="не сходится";
end;
end.


 
Inovet ©   (2011-03-13 23:17) [1]

Думаешь кому-то хочется читать неформатированный код? и ещё надо выделять с помощью тегов "код" кнопочка есть специальная.


 
Fassy   (2011-03-13 23:29) [2]

Метод касательных:
procedure TForm1.Button3Click(Sender: TObject);
var x,m,v,i:real; n:integer;
begin
a:=strtofloat(Edit1.text);
If a<=-1 then
begin
ShowMessage(ошибка");
Exit;
end;

b:=strtofloat (Edit2.Text);
if f1(a)*f1(b)<0 then
begin
if f1(b)*f3(b)>0 then begin
n:=0;
x:=b;
repeat
n:=n+1;
b:=x;
x:=b-f1(b)/f2(b);
m:=f1(x);
until
Abs(m)<e;>0 then begin
n:=0;
x:=a;
repeat
n:=n+1;
a:=x;
x:=a-f1(a)/f2(a);
m:=f1(x);
until abs(m)


Метод Итераций с заданным приближённым корнем:
procedure TForm1.Button4Click(Sender: TObject);
var x,x0: real;
n: integer;
begin
n:=0;
x:=strtofloat(Edit11.Text);
if abs(f2(x))<1 then
begin
repeat
n:=n+1;
x0:=x;
x:=arcsin(ln(x+1)+0.1)-1;
until E>abs(x-x0);
Edit9.text:=inttostr(n);
Edit10.text:=Format("%8.5F",[x]);
end
else
Edit10.text:="не сходится";
end;
end.


 
Игорь Шевченко ©   (2011-03-13 23:38) [3]

use indents, Luke


 
Fassy   (2011-03-13 23:39) [4]

не понял
что вы имели ввиду?


 
Inovet ©   (2011-03-13 23:57) [5]

> [4] Fassy   (13.03.11 23:39)
> что вы имели ввиду?

Например

Метод касательных:

procedure TForm1.Button3Click(Sender: TObject);
 var x,m,v,i:real; n:integer;
begin
 a:=strtofloat(Edit1.text);

 If a<=-1 then
 begin
   ShowMessage(ошибка");
   Exit;
 end;

 b:=strtofloat (Edit2.Text);
 if f1(a)*f1(b)<0 then
 begin
   if f1(b)*f3(b)>0 then begin

     n:=0;
     x:=b;
     repeat
       n:=n+1;
       b:=x;
       x:=b-f1(b)/f2(b);
       m:=f1(x);
     until

     Abs(m)<e;>0 then begin
     n:=0;
     x:=a;
     repeat
       n:=n+1;
       a:=x;
       x:=a-f1(a)/f2(a);
       m:=f1(x);
     until abs(m)

Метод Итераций с заданным приближённым корнем:

procedure TForm1.Button4Click(Sender: TObject);
 var x,x0: real;
 n: integer;
begin
 n:=0;
 x:=strtofloat(Edit11.Text);
 if abs(f2(x))<1 then
 begin
   repeat
     n:=n+1;
     x0:=x;
     x:=arcsin(ln(x+1)+0.1)-1;
   until E>abs(x-x0);

   Edit9.text:=inttostr(n);
   Edit10.text:=Format("%8.5F",[x]);

 end
 else
   Edit10.text:="не сходится";
end;
end.


 
Inovet ©   (2011-03-13 23:59) [6]

> [5] Inovet ©   (13.03.11 23:57)

Да пребудет с тобой сила джадаев - indents, Luke!


 
Fassy   (2011-03-14 00:02) [7]

Удалено модератором



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1299834174
ssnakess
2011-03-11 12:02
2011.06.19
Тип данных String


15-1298375142
Empleado
2011-02-22 14:45
2011.06.19
Goto in Delphi


15-1299060395
Scott Storch
2011-03-02 13:06
2011.06.19
Цифровая подпись


2-1299918530
LDV
2011-03-12 11:28
2011.06.19
много get-запросов


2-1299837557
i7
2011-03-11 12:59
2011.06.19
Как избавиться от ошибок сокетов