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


Ответ
 
Опции темы Опции просмотра
Старый 18.04.2010, 19:40   #1 (permalink)
mary yu
Member
 
Регистрация: 06.01.2010
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Сплайн интерполяция. Паскаль.

Здравствуйте! Подскажите, пожалуйста, как построить графики сеточной функции и сплайн итнерполяции, если даны xi и yi
mary yu вне форума   Ответить с цитированием

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

Пожалуйста, обратите внимание - это похожие на вашу темы

Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль
Паскаль АВС

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

Цитата:
Сообщение от mary yu Посмотреть сообщение
Здравствуйте! Подскажите, пожалуйста, как построить графики сеточной функции и сплайн итнерполяции, если даны xi и yi
Ох, да кто же их сейчас вспомнит - все эти кривые Безье да матрицы Эрмита? Уж точно не я. Извините.
P.S. Не так давно Вы, помнится, собирались "больше работать"? Однако сдается мне, что семестр опять профилонили...
Vladimir_S вне форума   Ответить с цитированием
Старый 18.04.2010, 22:12   #3 (permalink)
mary yu
Member
 
Регистрация: 06.01.2010
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Нет-нет-нет! Этот семестр весьма продуктивен. Теперь вместо программирования численные методы((
Кому понадобиться код вычисления кубического сплайна вот:
Код:
Uses crt;
type massiv=array[1..20] of real;
const x:array[0..10] of real=(0.18,0.51,0.61,0.94,1.15,1.42,1.54,1.76,1.80,2.08,2.25);
      y:array[0..10] of real=(-1.10,-1.06,-0.84,-0.74,-0.58,-0.25,-0.16,0.16,0.28,0.30,0.56);
var
a,b,c,d,h,k,l,r,s:massiv;
i,n:integer;
begin
Clrscr;
write('n='); read(n);
for i:=2 to n-1 do begin
k[1]:=0;l[1]:=0;
h[i-1]:=x[i-1]-x[i-2]; h[i]:=x[i]-x[i-1];
s[i]:=2*(h[i]+h[i-1]);
r[i]:=3*((y[i]-y[i-1])/h[i]-(y[i-1]-y[i-2])/h[i-1]);
k[i]:=(r[i]-h[i-1]*k[i-1])/(s[i]-h[i-1]*l[i-1]);
l[i]:=h[i]/(s[i]-h[i-1]*l[i-1]);
writeln('k[',i,']=',k[i]:2,' l[',i,']=',l[i]:2);
end;
for i:=n-2 downto 2 do begin
c[n-1]:=k[n-1];
c[i]:=k[i]-l[i]*c[i+1];
end;
mary yu вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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