Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 01.12.2013, 20:59   #1 (permalink)
марианна
Member
 
Регистрация: 01.12.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
Wink Метод Ньютона

ребят, ну помогите еще с одним заданием пожалуйста
Миниатюры
aacuiyiiue.jpg  
марианна вне форума   Ответить с цитированием

Старый 01.12.2013, 20:59
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Суть содержания этой темы схожа с этими темами

Решение уравнений методом Ньютона
Метод Ньютона-Рафсона на Паскаль

Старый 01.12.2013, 21:58   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от марианна Посмотреть сообщение
ребят, ну помогите еще с одним заданием пожалуйста
Пожалуйста.
Код:
Var
 x,y,b:Array[0..10] of Real;
 n,i,j,k:Byte;
 P,S,Q,z:Real;
Begin
 x[0]:=0.3240;
 for i:=1 to 10 do x[i]:=x[i-1]+0.1950;

 y[ 0]:=-0.3450;
 y[ 1]:=-0.0850;
 y[ 2]:= 0.0200;
 y[ 3]:= 0.0170;
 y[ 4]:=-0.0490;
 y[ 5]:=-0.1360;
 y[ 6]:=-0.1990;
 y[ 7]:=-0.1930;
 y[ 8]:=-0.0740;
 y[ 9]:= 0.2030;
 y[10]:= 0.6830;

 b[0]:=y[0];
 for i:=1 to 10 do
  begin
   S:=b[0];
   for j:=1 to i-1 do
    begin
     P:=1;
     for k:=0 to j-1 do P:=P*(x[i]-x[k]);
     S:=S+b[j]*P;
    end;
   P:=1;
   for k:=0 to i-1 do P:=P*(x[i]-x[k]);
   b[i]:=(y[i]-S)/P;
  end;

  z:=1.6960;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);

  z:=1.8860;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);

  z:=1.3400;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);
 Readln
End.
Несколько слов в пояснение.
Здесь, в отличие от темы про метод Лагранжа, я поленился писать заново и воспользовался своей старой программой отсюда:
Расчёт и таблица
Там же есть ссылки на описания самих алгоритмов, на базе которых писалась программа.
Vladimir_S вне форума   Ответить с цитированием
Старый 01.12.2013, 22:00   #3 (permalink)
марианна
Member
 
Регистрация: 01.12.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 46
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Пожалуйста.
Код:
Var
 x,y,b:Array[0..10] of Real;
 n,i,j,k:Byte;
 P,S,Q,z:Real;
Begin
 x[0]:=0.3240;
 for i:=1 to 10 do x[i]:=x[i-1]+0.1950;

 y[ 0]:=-0.3450;
 y[ 1]:=-0.0850;
 y[ 2]:= 0.0200;
 y[ 3]:= 0.0170;
 y[ 4]:=-0.0490;
 y[ 5]:=-0.1360;
 y[ 6]:=-0.1990;
 y[ 7]:=-0.1930;
 y[ 8]:=-0.0740;
 y[ 9]:= 0.2030;
 y[10]:= 0.6830;

 b[0]:=y[0];
 for i:=1 to 10 do
  begin
   S:=b[0];
   for j:=1 to i-1 do
    begin
     P:=1;
     for k:=0 to j-1 do P:=P*(x[i]-x[k]);
     S:=S+b[j]*P;
    end;
   P:=1;
   for k:=0 to i-1 do P:=P*(x[i]-x[k]);
   b[i]:=(y[i]-S)/P;
  end;

  z:=1.6960;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);

  z:=1.8860;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);

  z:=1.3400;
  Q:=b[0];
  for j:=1 to 10 do
   begin
    P:=1;
    for k:=0 to j-1 do P:=P*(z-x[k]);
    Q:=Q+b[j]*P;
   end;
  writeln('x= ',z:7:4,'    y= ',Q:7:4);
 Readln
End.
Несколько слов в пояснение.
Здесь, в отличие от темы про метод Лагранжа, я поленился писать заново и воспользовался своей старой программой отсюда:
Расчёт и таблица
Там же есть ссылки на описания самих алгоритмов, на базе которых писалась программа.
спасибо большое))))
марианна вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:52.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.