Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCad.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.4 Mб
Скачать

3.4. Решение задач интерполяции и регрессии

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

аппроксимации двумя типами функций: кусочно-линейной и сплайновой.

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

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

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

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

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

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

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

Другой широко известной задачей обработки данных, ..заданных таблично, является регрессия. Задача регрессии -заключается в получении параметров функции у(х) такими, что функция приближает «облако» исходных точек (заданных векторами VX и VY) с наименьшей среднеквадратичной погрешностью. Для проведения линейной регрессии (функция у(х) = а +bх) в систему MathCAD встроен рад функций:

corr(VX ,VY) - возвращает коэффициент корреляции Пирсона;

intercrpt(VX ,W) - возвращает значение параметра а;

slope(VX,VY) - возвращает значение параметра b.

На рис.22 показан пример проведения линейной регрессии.

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

В MathCAD реализована также возможность выполнения линейной регрессии общего вида. Заданная совокупность точек приближенно описывается функцией вида: F(х,К12,...Кn) = K1F1 (х) + K2F2 (х) +...+ KnFn(x). Для реализации линейной регрессии общего вида используется функция linfit(VX,VY,F) - возвращает вектор коэффициентов К, при котором среднеквадратичная погрешность оказывается минимальной. Вектор F должен содержать функции F1 (x),F2 (x) ,...Fn(x), записанные в символьном виде. Рис.23 иллюстрирует проведение линейной регрессии общего вида с помощью функции linfit.

Рис.23. Пример проведения линейной регрессии общего вида

3.5. Работа с векторами и матрицами

Определение вектора или матрицы в MathCAD производится с помощью шаблона Матрицы палитры Математика. Для этого следует установить курсор на место, где будет производиться вывод, при необходимости ввести имя матрицы (заглавная латинская буква), щелкнуть по изображению шаблона матрицы, расположенному в верхнем левом углу. На экране появится диалоговое окно, в котором требуется ввести число строк и столбцов матрицы и щелкнуть по кнопке ОК или Еставить(рис.24).

Рис.24. Окно Вставить матрицу

На экране возникает шаблон матрицы, который следует заполнить данными:

Для работы с векторами и матрицами в системе MathCAD имеется набор операторов и функций, приведенных в табл.1. Существует также ряд встроенных векторных и матричных функций, делающих работу с векторами и матрицами столь же простой, что и с обычными числами и переменными.

Приведем некоторые из них:

lengr(V) - возвращает число элементов вектора;

last(V) - возвращает номер последнего элемента;

max(V) - возвращает максимальный элемент вектора или матрицы;

min(V) - возвращает минимальный элемент вектора или. матрицы;

Re(V) - возвращает вектор действительных частей вектора с комплексными элементами;

Im(V) - возвращает вектор мнимых частей вектора с комплексными элементами;

augment(Ml,M2) - объединяет в одну матрицы Ml и М2, имеющие одинаковое число строк (объединение идет бок о бок);

stact(Ml,M2) - объединяет матрицы Ml и М2, имеющие одинаковое число столбцов, сажая Ml над М2;

diag(V) - создает диагональную матрицу, элементы главной диагонали которой - элементы вектора V;

coIs(M) - возвращает число столбцов матрицы М;

rows(M) - возвращает число строк матрицы М;

ratk(M) - возвращает ранг матрицы М;

mean(M) - возвращает среднее арифметическое элементов массива М.

Ниже приведены примеры наиболее распространенных векторных и матричных операторов.

Кроме набора математических функций при работе с матрицами большое удобство представляет наличие в MAtad функций сортировки - перестановки элементов векторов и матриц:

sort(V) - сортировка элементов вектора в порядке возрастания их значений;

reverse(V) - сортировка элементов вектора в порядке убывания их значений;

csort(M,n) - перестановка строк матрицы М таким образом, чтобы отсортированным оказался n-й столбец;

rsort(M,n) - перестановка строк матрицы М таким образом, чтобы отсортированной оказалась n-я строка.

Примеры использования функций сортировки:

Векторные и матричные операторы и функции системы MMathCAD позволяют решать, например, системы линейных

уравнений

Рис. 25. Решение системы линейных уравнений

Поскольку решение систем линейных уравнений довольно распространенная задача, то для этого в последних версиях МаthСАD имеется функция lsolve(A, В), которая возвращает вектор решений системы линейных уравнений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]