![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() необходимо написать код в delphi для решения уравнения методом Ньютона.
3ln^2(x) + 6ln(x) - 5 = 0 |
#2
|
|||
|
|||
![]() А где ваши наработки?
|
#3
|
|||
|
|||
![]() абсолютно не представляю как этот метод программируется!
|
#4
|
||||
|
||||
![]() а что за метод такой? в чем суть?
а вообще очень похоже на квадратное уравнение если заменить 3ln(x) на z ![]() Последний раз редактировалось Admin, Сегодня в 10:32. |
#5
|
|||
|
|||
![]() если решать как квадратное то получается вроде
Код:
..... var ..... t1, t2, x1, x2:real; ........ procedure.......button1....... begin t1:=(-5+sqrt(97))/6; t2:=-((-5+sqrt(97))/6) x1:=exp(ln(t1)); x2:=exp(ln(1/t1)) ; edit1.text:=floattostr(x1); edit2.text:=floattostr(x2); end; вроде компилируется.но правильно ли работает неизвестно.и...это рассчетка в институт,поэтому нужен именно ньютон.к тому же тут много в голове считается. |
#6
|
|||
|
|||
![]() А что, гугл отключили:
http://ru.wikipedia.org/wiki/%D0%A7%...%D0%B8%D0% B9 |
#7
|
|||
|
|||
![]() написал код
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i,n,t,result,result1:real; implementation function f(i:real):real; begin result:=3*sqr(ln(i))-6*ln(i)+5; end; function d(i:real):real; begin result1:=(6*(ln(i)-1)/i); end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var eps:real; begin eps:=0.0001; i:=strtofloat(edit1.text); n:=0; repeat t:=f(i)/d(i); i:=i-t; memo1.lines.add('x'+floattostr(n)+floattostr(i)); n:=n+1; until abs(f(i))<eps; end; end. компилируется.но при выполнении возвращает ошибку деление на ноль.это только при нахождении t может быть.но почему и как исправить.подскажите Последний раз редактировалось Admin, 10.11.2010 в 18:50. |