Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posobie_po_informatike_Chast1_Word.doc
Скачиваний:
86
Добавлен:
10.02.2015
Размер:
25.57 Mб
Скачать
  1. Реализация линейной регрессии общего вида

В MathCad 7 реализована возможность выполнения линейной регрессии общего вида. При ней заданная совокупность точек приближается функцией вида: F(x,K1,K1,...,KN)=K1*F1(x)+K2*F2(x)+...+KN*FN(x).

Таким образом, функция регрессии является линейной комбинацией функций F1(x),F2(x)...FN(x), причем сами эти функции могут быть нелинейными, что резко расширяет возможности такой аппроксимации и распространяет ее на нелинейные функции.

Для реализации линейной регрессии общего вида используется функция:

linfit(VX,VY,F) - возвращает вектор коэффициентов линейной регрессии К, при котором среднеквадратичная погрешность приближения «облака» исходных точек, координаты которых хранятся в векторах VX и VY, оказывается минимальной. Вектор должен содержать функции F1(x),F2(x)...FN(x), записанные в символьном виде.

Рис.71 поясняет проведение линейной регрессии общего вида с применением функции linfit.

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

3. Одномерная линейная аппроксимация

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

linterp(VX,VY,x).

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

4. Одномерная сплайн-интерполяция

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

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

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

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

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

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

Наконец, четвертая функция

interp(VS,VX,VY,x) - возвращает значение y(x) для заданных векторов VS,VX,VY и заданного значения x.

На рис. 72 приведены примеры линейной и сплайновой аппроксимаций функции.

Рис.72. Примеры линейной и сплайновой аппроксимаций

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