Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1299761604
картман
2011-03-10 15:53
2011.06.19
почему точка останова не активна?


2-1296316880
Пироги
2011-01-29 19:01
2011.06.19
Помогите настроить отображение массива в TListView?


2-1299920274
>|<
2011-03-12 11:57
2011.06.19
чем заменить UInt64 в Delphi 6


2-1300090835
ArNa
2011-03-14 11:20
2011.06.19
Хэлп плиз с Excel &amp; MainMenu


2-1299768007
harisma
2011-03-10 17:40
2011.06.19
Слияние двух стринглистов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский