Интерполирование функций многочленом Лагранжа
Автор: cubemalevich • Октябрь 12, 2022 • Лабораторная работа • 712 Слов (3 Страниц) • 172 Просмотры
МинобрнаукиРоссии
Юго-Западныйгосударственныйуниверситет
Кафедра программной инженерии
Лабораторная работа №3
По дисциплине «Вычислительная математика»
«ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ МНОГОЧЛЕНОМ ЛАГРАНЖА»
Выполнил: студент группы ПО-12б
Крюков Н.М.
Проверил: к.т.н.,доцент
КочураЕ.П.
Курск–2022.
Цель работы
1.Изучение основных определений и положений теории интерполяции функции.
2.Изучение методов локальной и глобальной интерполяции. 3.Интерполирование функций многочленом Лагранжа.
Индивидуальное задание
1.Написать интерполяционный многочлен Лагранжа для функции f(x), которая задана на отрезке [x0,xn] в четырех точках (узлах). Значения функции взять из таблицы заданий Оценить погрешность интерполяции, предполагая, что f (n+1)(ξ)≤1.
2.Разработать текст программы для приближенного вычисления значений функции f(x) и погрешности интерполяции в трех любых точках отрезка [x0,xn],
3.На ЭВМ набрать и отладить программу.
4.Провести вычисления функции в точках между заданными узлами. Провести интерполяцию с помощью программы MATHCAD и сравнить результаты.
Вариант 5:
[pic 1]
Тексты программ
void Maths (double xx)
{
double[] x = new double[] { 1.0, 1.2, 1.4, 1.6 };
double[] y = new double[] { -8.0, -3.0, -4.0, 0 };
double a = ((xx - x[1]) * (xx - x[2]) * (xx - x[3])) / ((x[0] - x[1]) * (x[0] - x[2]) * (x[0] - x[3]));
double b = ((xx - x[0]) * (xx - x[2]) * (xx - x[3])) / ((x[1] - x[0]) * (x[1] - x[2]) * (x[1] - x[3]));
double c = ((xx - x[0]) * (xx - x[1]) * (xx - x[3])) / ((x[2] - x[0]) * (x[2] - x[1]) * (x[2] - x[3]));
double d = ((xx - x[0]) * (xx - x[1]) * (xx - x[2])) / ((x[3] - x[0]) * (x[3] - x[1]) * (x[3] - x[2]));
double w = (xx - x[0]) * (xx - x[1]) * (xx - x[2]) * (xx-x[3]);
double[] l = new double[] { a ,b, c, d };
double Ln = 0;
for (int i = 0; i <= 3; i++)
{
Ln += y[i] * l[i];
}
double Rn = Math.Abs(w) / (1*2*3*4);
double qRn =Math.Abs(Rn) / Math.Abs(Ln);
Console.WriteLine("Ln="+Ln+" " +" Rn="+Rn+" "+"qRn="+qRn);
}
Maths(1.05);
Maths(1.3);
Maths(1.5);
[pic 2]
Рис.1 – Результат работы программы на С#
[pic 3]
Рис.2 – Результат вычислений на SMathStudio
Таблица результатов расчета на ЭВМ\
...