ОбрАБОТКА данНЫх СРЕДСТВАМИ MathCad
Известно, что экспериментальные данные, как правило, задаются дискретно в виде массива данных из двух пар чисел (хі, уі). В связи с этим возникает задача аппроксимации дискретных данных непрерывной функцией f(x). В MathCad для обработки экспериментальных данных существуют встроенные функции, которые позволяют выполнять интерполяцию. Для построения линейной интерполяции служит встроенная функция linterp linterp(x, y, t) – функция, которая аппроксимирует данные векторов х и у кусочно-линейной зависимостью; – х – вектор действительных данных аргумента; – у – вектор действительных данных значений того же размера; – t – значение аргумента, при котором вычисляется интерполяционная функция. Замечание: элементы вектора х должны быть определены в порядку возрастания. Чтобы осуществить линейную интерполяцию, надо выполнить следующие действия: 1. Ввести векторы данных х и у. 2. Определить функцию lіnterp (х, в, t). 3. Вычислить значение этой функции в необходимых точках, например, lіnterp(x, y, 2.4) = 3.52 или lіnterp(х, в, 6) =5.9, или построить ее график. Замечание: функция A (t) на графику имеет аргумент t, а не х. Это означает, что функция A (t) исчисляется не только при заданных значениях аргумента, а в намного большем количестве аргументов в интервале изменения переменной, что автоматически обеспечивает Mathсad. Mathсad, по умолчанию, соединяет точки графика прямыми линиями, осуществляет их линейную интерполяцию. В большинстве практических приложений желательно соединить экспериментальные точки не ломанной линией, а гладкой кривой. Лучше всего для этих целей подходит интерполяция кубическими сплайнами, т.е. отрезками кубических парабол. іnterp(s, x, y, t) - функция, которая аппроксимирует данные векторов х и у кубическими сплайнами; – s - вектор вторых производных, созданный одной из функций csplіne, psplіne или lsplіne; – х - вектор действительных данных аргумента, элементы которого расположены в порядке возрастания; – y - вектор действительных значений того же размера; – t - значение аргумента, при котором исчисляется функция, которая интерполируется. Перед применением функции іnterp необходимо предварительно определить первый из ее аргументов - векторную переменную s. Выполняется это с помощью одной из трех встроенных функций тех же аргументов (х, у). – іspііne(x, y) - вектор значений коэффициентов линейного сплайна; – pspііne(x, y) - вектор значений коэффициентов квадратичного сплайна; – csplіne(x, y) - вектор значений коэффициентов кубического сплайна; – х, y - векторы данных. Более сложный тип интерполяции - так называемая интерполяция В-сплайнами. В отличие от обычной сплайн-интерполяции, сшивание элементарных В-сплайнов выполняется не в точках х и у, а в других точках, координаты которых предлагается ввести пользователю. Сплайны могут быть полиномами 1, 2 или 3 степени (линейные, квадратичные или кубические). Применяется интерполяция В-сплайнами точно так же, как и обычная сплайн-интерполяция, разница состоит только в определении вспомогательной функции коэффициентов сплайна.
|