StrToInt (Edit1 - gt; Text); i ++)
{x=StrToFloat (StringGrid1 - gt; Cells [0] [i]); y=StrToFloat (StringGrid1 - gt; Cells [1] [i]); - gt; AddXY (x, y, raquo ;, clRed);
}
}
//---------------------------------------------------------------------------__fastcall TForm1 :: Button2Click (TObject * Sender)
{N=StrToInt (Edit1 - gt; Text); * ax;=new double [N]; * ay;=new double [N]; (int i=0; i lt; N ; i ++)
{[i]=StrToFloat (StringGrid1 - gt; Cells [0] [i + 1]); [i]=StrToFloat (StringGrid1 - gt; Cells [1] [i + 1]) ;
} h=(ax [N - 1] -ax [0])/(2 * N); (double x=ax [0]; x lt;=ax [N - 1] ; x=x + h)
{y=Langrang (ax, ay, x, N); - gt; AddXY (x, y, raquo ;, clGreen);
}
}
//---------------------------------------------------------------------------
5. Візуальна оболонка
6. Приклад роботи
Початковий вид при запуску:
Вводимо початкову кількість точок:
Вводимо 5.
Натискаємо кнопку створити таблицю і вводимо в неї довільні дані: Y
3
5
7
6
5
Натискаємо кнопку побудувати графік, в результаті чого отримуємо:
Натискаємо кнопку інтерполяція і в результаті отримуємо:
Отриманий графік є вірним.
7. Висновок
інтерполювання функція поліном Лагранж
При виконанні роботи я вивчив основи інтерполювання функцій, навчився використовувати метод Ла-Гранжа для інтерполювання функцій, освоїв побудова інтерполяційних графіків, а також дізнався про значне недоліку даного методу - значення крайніх точок графіка найчастіше дуже різні з реальними значеннями.