овам інтерполяції функції і в будь-якому іншому інтерполяційних вузлі кратності. Дійсно, помінявши вузли і місцями, враховуючи, що інтерполяційний поліном единственен, тобто не залежить від нумерації вузлів, отримаємо, що його межа представимо у вигляді
і задовольняє умовам інтерполяції
2.4 Оцінка похибки інтерполювання
Похибка інтерполювання функції, заданої на відрізку, по її значеннях, значенням її перших похідних в -ой попарно різних точках (вузлах),, поліномом Ерміта з (2)
(4)
можна оцінити за допомогою граничного переходу в оцінці
, (5)
де - інтерполяційний многочлен на попарно різних вузлах кратності один,
.
Так як при:
(6)
- поліном ступеня, то з вистави (5) слід
.
Ця оцінка випливає також і з наступної теореми.
Теорема 3. Похибка інтерполювання функції, заданої на відрізку, по її значеннях, значенням її перших похідних в -ой попарно різних точках (вузлах), поліномом Ерміта з ( 2) можна представити у вигляді
,
де деяка точка з інтервалу (що залежить від), а поліном визначений в (6).
3. Лістинг програми
# include lt; conio.h gt;
# include lt; stdio.h gt;
# include lt; iostream gt;
# include lt; math.h gt;
# include lt; locale.h gt; namespace std; function (double x)
{1/(x * x);
} l_k (double x, int k, double X [], int n)//фундаментальний поліном
{p=1.0; (int i=0; i lt; n + 1; i ++) (i!=k) p=(double) (p * ((xX [i])/( X [k] -X [i]))); p;
} Termit (double x, int n)//Поліном Ерміта
{P_0=1, P_1=2 * x, P_2; (int i=1; i lt; n + 1; i ++)
{_ 2=(double) (2 * x * P_1-2 * i * P_0); _ 0=P_1; _1=P_2;
} P_2;
} Del (double a, double b, int n, double R)//функція половинного ділення
{c1, a1, b1;=a; b1=b; ((b1-a1) gt; R)
{= (b1 + a1) /2.0; ((Termit (a1, n) * Termit (c1, n)) lt; 0) b1=c1; a1=c1;
} c1;
} main ()
{(LC_ALL, Russian ); double pi=3.1415926535897932384626433832795; s=0.06, a=0, b=1, sum=0, * X, * T, * E, * Y, * Ch, * N; n, i, j, k, c; int m=15; lt; lt; Введіть початок ділянки: lt; lt; a lt; lt; endl; lt; lt; Введіть кінець ділянки: lt; lt; b lt; lt; endl; lt; lt; Введіть відступ від початку: lt; lt; s lt; lt; endl;=a + s; lt; lt; Початок ділянки з відступом: lt; lt; a lt; lt; endl; lt; lt; laquo ; Кінець ділянки з відступом: lt; lt; b lt; lt; endl; lt; lt; Введіть число вузлів: raquo ;; gt; gt; n; lt; lt; Виберіть 1 для рівномірної сітки, 2 для чебишовських сітки: raquo ;; gt; gt; c;=new double [n + 1];//вузли=new double [m + 1];//поточні точки=new double [m + 1];//поліном Ерміта=new double [m + 1];//похибка інтерполяції=new double [n + 1];//вузли Чебишева=new double [m + 1];//порядковий номер (c)
{1://розбиття, рівномірна сітка
{(i=0; i lt; n + 1; i ++) [i]=a + ((ba)/n) * i ;;
} 2://чебишовських сітка
{(i=0; i lt; n + 1; i ++)
{[i]=cos ((double) (pi * (1 + 2 * i)/(2 * n + 2))); [i]=(double) (Ch [i ] * (ba) + b + a) /2.0;
};
}
} (i=0; i lt; m + 1; i ++) [i]=(double) ((a + 0.01) + ((ba - 0.02)/n)*i);lt;lt;laquo;Nraquo;lt;lt;laquo;traquo;lt;lt;laquo;xraquo;lt;lt;laquo;traquo;lt;lt;laquo;yraquo;lt;lt;laquo;traquo;lt;lt;laquo;fraquo;lt;lt;laquo;traquo;lt;lt;laquo;Traquo;lt;lt;laquo;traquo;lt;lt;laquo;Eraquo;lt;lt;endl;(j=0; j lt; m + 1; j ++)
{sum=0; (i=0; i lt; n + 1; i ++)=(double) (sum + (function (X [i]) * l_k (Y [j], i, X, n))); [j]=sum; [j]=abs (T [j] -function (Y [j]));
} (i=0; i lt; m + 1; i ++)
{N[i]=i;lt;lt;N[i]lt;lt;laquo;traquo;lt;lt;X[i]lt;lt;laquo;traquo;lt;lt;Y[i]lt;lt;laquo;traquo;lt;lt;function(Y[i])lt;lt;laquo;traquo;lt;lt;T[i]lt;lt;laquo;traquo;lt;lt;E[i]lt;lt;endl;
} [] X; [] Y; [] T; [] E; [] N; ();
}
4. Виведення програми
Вироблено побудова інтерполяційного полінома Ерміта для функції на 2-х сітках вузлів.