Задания для самостоятельной работы. В лабораторной работе студент должен выполнить в соответствии с выданным преподавателем вариантом два задания.

В лабораторной работе студент должен выполнить в соответствии с выданным преподавателем вариантом два задания.

1. Найти численное решение дифференциального уравнения в MathCAD на интервале . Построить график решения.

2. Численно решить систему дифференциальных уравнений в MathCAD на интервале . Построить графики решения.

Таблица 2

№ варианта Задание 1 Задание 2
 

 

Лабораторная работа №3 «Обработка данных в MathCAD»

 

Цель работы.

1. Изучить способы проведения интерполяции табличных данных в MathCAD.

2. Ознакомиться с функциями построения уравнений регрессии в MathCAD.

 

Задание.

1 Изучить методические указания по выполнению лабораторной работы.

2 Выполнить интерполяцию табличных данных и получить модель заданного вида с помощью регрессионного анализа в соответствии с вариантом задания (табл. 3).

Методические указания

Интерполяция

При проведении анализа различных физических явлений, технологических процессов результаты эксперимента обычно представляются в виде табличной зависимости функции y(x):

При этом число заданных точек этой зависимости ограничено.

Поэтому неизбежно возникает задача приближенного вычисления значений функции в промежутках между узловыми точками (интерполяция) и за их пределами (экстраполяция). Эта задача решается аппроксимацией или интерполяцией исходной зависимости, т.е. ее подменой какой-либо достаточно простой функцией [2]. В MathCAD имеются встроенные функции, обеспечивающие кусочно-линейную и сплайновую интерполяцию исходной табличной зависимости.

При кусочно-линейной интерполяции соседние узловые точки соединяются отрезками прямых, и дополнительные точки определяются по уравнениям этих прямых. Для проведения такого вида интерполяции используется функция linterp(VX, VY, x),

где VX и VY – векторы, задающие узловые точки исходной табличной зависимости,

x – аргумент результирующей интерполяционной функции.

Например, на рис. 6 исходная табличная зависимость y(x) задается векторами VX и VY (по 5 точек). Затем определяется, так называемая, интерполяционная функция f_i(x), которая позволяет для любого значения аргумента x определить искомую величину функции y. График этой функции представлен на рис. 6 (пунктир) вместе с узловыми точками (крестики). Из рис. 6 видно, что в узловых точках VXi значения функции f_i(x) совпадают с табличными VY.

Рис. 6 Проведение кусочно-линейной интерполяции в MathCAD

Как видно из рис. 6, результаты кусочно-линейной интерполяции при достаточно малом числе узловых точек получаются довольно грубыми. Поэтому в целях повышения точности целесообразнее использовать сплайновую интерполяцию, при которой исходная функция заменяется отрезками кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были их первые и вторые производные.

Для выполнения сплайновой интерполяции в MathCAD имеются четыре встроенные функции. Три из них обеспечивают получение вектора вторых производных сплайн-функций при различных способах сплайновой интерполяции:

• cspline (VX, VY) – возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;

• pspline (VX, VY) – возвращает вектор VS вторых производных при приближении в опорных точках к параболической кривой;

• lspline (VX, VY) – возвращает вектор VS вторых производных при приближении в опорных точках к прямой.

Четвертая функция interp (VS, VX, VY, x) определяет для найденного ранее вектора вторых производных VS и заданной при помощи векторов VX и VY исходной табличной зависимости y(x) интерполяционную сплайновую функцию.

Таким образом, сплайновая интерполяция в MathCAD производится в два этапа. На первом этапе определяется вектор вторых производных VS при помощи одной из трех функций (cspline, pspline или lspline), а на втором – определяется интерполяционная зависимость посредством функции interp. Пример дан на рис. 7.

 

Рис. 7 Проведение сплайновой интерполяции в MathCAD

 

Как видно из сравнения графиков, представленных на рис. 6 и 7, сплайновая интерполяция дает более гладкий и точный график интерполяционной функции.

Регрессионный анализ

Широко распространенной задачей обработки данных является представление результатов эксперимента некоторой функцией y(x). Задача регрессионного анализа заключается в получении параметров этой функции, описывающей (аппроксимирующей) экспериментальные данные, заданные векторами VX и VY, с наименьшей среднеквадратической погрешностью (метод наименьших квадратов).

Довольно часто используется линейная регрессия, при которой аппроксимирующая функция y(x) имеет вид y(x)= a+bx , для определения коэффициентов которой в MathCAD служат следующие встроенные функции:

• intercept(VX, VY) – возвращает значение параметра a (величины отрезка, отсекаемого линией регрессии на оси OY);

• slope (VX, VY) – возвращает значение параметра b (тангенса угла наклона линии регрессии).

Пример дан на рис. 8.

 

Рис. 8 Линейная регрессия

 

В приведенном примере (рис. 8) рассчитан коэффициент корреляции (связи) двух множеств VX и VY с помощью функции corr. Чем ближе этот коэффициент к единице по модулю, тем точнее исходные табличные данные, определенные векторами VX и VY, описываются линейной зависимостью y(x)= a+bx.

Проведение полиномиальной регрессии, т.е. аппроксимации табличной зависимости полиномом n-й степени, выполняется посредством встроенной функции regress(VX, VY, n). Данная функция возвращает вектор, назовем его k, элементы которого, начиная с четвертого, представляют собой коэффициенты аппроксимирующего полинома Pn(x)=a0+a1x+a2x2+…+an-1xn-1+anxn т.е.

Пример выполнения полиномиальной регрессии представлен на рис. 9.

 

Рис. 9 Полиномиальная регрессия

 

Замечание. Для нахождения корней полинома произвольной степени в MathCAD используется функция polyroots.

Кроме того, в MathCAD имеется ряд других функций для проведения регрессионного анализа [2], например, linfit, loess, genfit.