Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб ЧМ для АЭС.doc
Скачиваний:
15
Добавлен:
21.11.2019
Размер:
415.74 Кб
Скачать

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

Для построения интерполяции-экстраполяции в MathCAD имеются несколько встроенных функций, позволяющих "соединить" точки данных (xi, yi) кривой разной степени гладкости.

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

Зная функцию F(x), можно вычислить значения этой функции в промежуточных точках, например linterp(x,y,2.4) =3.52, или linterp(х,у,6) =5.9, или построить ее график.

Задание 6: В качестве значений xi укажите те значения х, которые вы выбрали в задании 5, а в качестве значений yi - точные значения функции y=N*x2+5x-N/3. Найдите интерполирующую функцию F(t) и постройте её график. На этом же графике укажите экспериментальные точки y(x).

В большинстве практических приложений желательно соединить экспериментальные точки не ломаной линией, а гладкой кривой. MathCAD позволяет производить интерполяцию кубическими сплайнами, т. е. отрезками кубических парабол.

interp(s,x,y,t) - функция, аппроксимирующая данные векторов х и у кубическими сплайнами. Здесь s - вектор вторых производных, созданный одной из сопутствующих функций cspline, pspline или Ispline, х - вектор действительных данных аргумента, элементы которого расположены в порядке возрастания, у - вектор действительных данных значений того же размера, t - значение аргумента, при котором вычисляется интерполирующая функция.

Сплайн-интерполяция в MathCAD реализована чуть сложнее линейной. Перед применением функции interp необходимо предварительно определить первый из ее аргументов - векторную переменную s. Делается это при помощи одной из трех встроенных функций тех же аргументов (х,у):

lspiine(x,y) - вектор значений коэффициентов линейного сплайна;

pspiine(x,y) - вектор значений коэффициентов квадратичного сплайна;

cspiine(x,y) - вектор значений коэффициентов кубического сплайна;

х,у - векторы данных.

Выбор конкретной функции сплайновых коэффициентов влияет на интерполяцию вблизи конечных точек интервала.

Смысл сплайн-интерполяции заключается в том, что в промежутках между точками осуществляется аппроксимация в виде зависимости F(t)=at3+bt2+ct+d. Коэффициенты a, b, c, d рассчитываются независимо для каждого промежутка, исходя из значений yi в соседних точках.

Задание 7: Используя те же исходные данные, найдите интерполирующую квадратичными сплайнами функцию F1(t) и интерполирующую кубическими сплайнами функцию F2(t). Постройте обе функции на одном графике, ощутима ли разница?

В MathCAD имеется развитый инструмент экстраполяции, который учитывает распределение данных вдоль всего интервала. В функцию predict встроен линейный алгоритм предсказания поведения функции.

predict (y,m,n) - функция предсказания вектора, экстраполирующего набор данных. Здесь у - вектор действительных значений, взятых через равные промежутки значений аргумента (значений аргумента для данных не требуется, поскольку по определению функция действует на данные, идущие друг за другом с равномерным шагом), m - количество последовательных элементов вектора у, согласно которым строится экстраполяция, n - количество элементов вектора предсказаний. Результат функции predict вставляется "в хвост " исходных данных.

Задание 8: Найдите и изобразите на графике функцию, предсказывающую поведение наших экспериментальных данных.

Критерии оценки полученных знаний, умений и навыков:

студент получает 4 балла при выполнении лабораторной работы и ответе на контрольные вопросы преподавателя, поощрительный 1 балл студент получает при своевременном (в день проведения лабораторной работы) выполнении лабораторной работы, дополнительные 5 баллов студент получает при реализации одного из изученных алгоритмов на языке программирования ПАСКАЛЬ. Таким образом, максимальное количество баллов, которые студент может получить за данную лабораторную работу, равно 10.

Примерные контрольные вопросы:

  1. Каков критерий наилучшего приближения кривой к экспериментальным данным методом наименьших квадратов?

  2. Какие недостатки и достоинства имеет аппроксимация экспериментальных данных полиномом Ньютона?

  3. Как определить степень полинома Ньютона по числу экспериментальных данных?

  4. Какие команды программы MathCAD позволяют интерполировать и экстраполировать экспериментальные данные?

  5. Как в программе MathCAD построить графики функций, заданных дискретно и в виде непрерывной функции?