class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

Мандельброт
IFS
фильтрация
rgb эффекты
интерполяция
определенный интеграл
диффиренциальные уравнения
простые, сложные проценты
сортировка

Алгоритмы

Интерполяция функций

Интерполяцией называется замена таблично заданной функции на некотором интервале, другой функцией F(x), проходящей через эти же точки (узлы интерполяции). Таким образом, с помощью F(x) можно приближенно вычислить значения первой функции в других точках интервала.

метод Лагранжа

В методе Лагранжа в качестве F(x) берется многочлен, имеющего тот же порядок, что и колличество заданных точек:

F(X)=...y[j]*q1j/qj+ ..y[n]*q1n/qn, где 
q1j=(X-x[0])...(X-x[j-1])(X-x[j+1])...(X-x[j-n]), а
qj=(x[j]-x[0])...(x[j]-x[j-1])(x[j]-x[j+1])...(x[j]-x[j-n])

формулы Ньютона

Если точки взяты с поcтоянным шагом h, т.е. x[i+1]-x[i]=h, то можно воспользоваться формулами Ньютона.

первая формула (интерполяция вперед)
F(X)=y[0]+ (qΔy[0]) + (q(q-1)Δ2y[0]/2!) + (q(q-1)(q-2)Δ3y[0]/3!) + ... 
     + (q(q-1)...(q-n+1)Δny[0]/n!),
где q=(X-x[0])/h

вторая формула (интерполяция назад)
F(X)=y[n] + qΔy[n-1] + (q(q+1)Δ2y[n-2]/2!) + ... 
     + (q(q+1)...(q+i-1)Δiy[n-i]/i!) + ... + (q(q+1)...(q+n-1)Δny[n-i]/n!),
где q=(X-x[0])/h

Вторая формула используется для вычисления значения функции в конце интервала или даже для экстрополяции, т.е. за правой границей интервала. В обоих формулах слагаемые меньшие заданной точности можно отбросить. Также в обоих формулах фигурирует Δky[i] - конечная разность k порядка i узла, которая определяется рекурентным соотношением:

Δky[i]=Δk-1y[i+1]-Δk-1y[i], т.е.
      
      Δy[0]=y[1]-y[0], Δy[1]=y[2]-y[1], ..., Δy[i]=y[i+1]-y[i]
      Δ2y[0]=Δy[1]-Δy[0], Δ2y[1]=Δy[2]-Δy[1], ..., Δ2y[i]=Δy[i+1]-Δy[i]
      ...

Из формул Ньютона выводится метод численного вычисления производных таблично заданных функций:

f(k)∼Δky/hi, например f''(x)∼Δ2y/h2;

Δky/hk называется разделенной конечной разностью k порядка.

Метод кубических сплайнов

В этом методе уже каждый частичный интервал (т.е. между заданными точками) заменяется на свой многочлен третьей степени. Ниже приведена формула для случая, когда точки взяты с постоянным шагом:

F(X)= (x[i+1]-X)2*( 2*(X-x[i])+h )*y[i]/(h3) +
      (X-x[i])2* ( 2*(x[i+1]-X) + h)*y[i+1]/(h3)+
      (x[i+1]-X)2*(X-x[i])*pi/(h2)+
      (X-x[i])2 *(x-x[i+1])*pi+1/(h2),
где
h - расстояние между точками (x[i+1]-x[i])
pi - производная функции в i точке
   p0= (4*y[1]-y[2]-3*y[0])/(2*h)
   pi= (y[i+1]-y[i-1])/(2*h), где i=1,...,(n-1)
   pn= ( 3*y[n]+y[n-2]-4*y[n-1])/(2*h)

Скачать класс FInterpolation.


Рейтинг@Mail.ru