Форум: "Начинающим";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
ВнизУравнение 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c