Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Сплайн интерполяция. Паскаль. (http://www.tehnari.ru/f43/t35257/)

mary yu 18.04.2010 19:40

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

Vladimir_S 18.04.2010 21:07

Цитата:

Сообщение от mary yu (Сообщение 324716)
Здравствуйте! Подскажите, пожалуйста, как построить графики сеточной функции и сплайн итнерполяции, если даны xi и yi

Ох, да кто же их сейчас вспомнит - все эти кривые Безье да матрицы Эрмита? Уж точно не я. Извините.
P.S. Не так давно Вы, помнится, собирались "больше работать"? Однако сдается мне, что семестр опять профилонили... :D

mary yu 18.04.2010 22:12

Нет-нет-нет! Этот семестр весьма продуктивен. Теперь вместо программирования численные методы((
Кому понадобиться код вычисления кубического сплайна вот:
Код:

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;



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

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.