Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Тема 2. Программный продукт MathCad




Лекция 9 (1 час)

Вопросы для изучения:

1) Интерполяция в MathCad.

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

3) Нахождение корней функций.

 

 

Обработка данных и статистика

 

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

x x1 x2 x3 xn-1 xn
y y1 y2 y3 yn-1 yn

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

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

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

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

 

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

 

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

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

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

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

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

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

Таким образом, сплайновая интерполяция в MathCad производится в два этапа. На первом этапе определяется вектор вторых производных VS при помощи одной из трех ранее приведенных функций, а на втором - вычисляются значения функции в произвольных точках x посредством функции interp. Например, см. рис. 8.5.

 

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

 

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

 

Статистические функции

 

MathCad располагает следующими основными функциями статистического анализа:

erf(x) - функция ошибок Гаусса ,

rnd(x) - функция генерации случайных чисел возвращает случайное число с равномерным распределением на отрезке [0, x],

corr(VX, VY) - коэффициент корреляции двух векторов VX и VY,

cvar(VX, VY) - коэффициент ковариации двух векторов VX и VY,

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

var(V) - возвращает дисперсию для элементов вектора V;

hist(int, V) - служит для построения диаграмм и возвращает вектор частот попадания данных V в заданные интервалы int (см. рис. 8.6).

 

Рис. 8.6 Построение диаграммы частот

 

Замечание. Обратите внимание, что в векторе int (рис. 8.6) задаются границы интервалов, поэтому для четырех исследуемых интервалов [0; 5), [5, 10), [10, 15), [15, 20) введены 5 границ - 0, 5, 10, 15 и 20.

В MathCad имеется множество различных функций для вычисления значений плотности распределения вероятности, функций распределения, квантилей распределения, а также функций создания векторов с различными законами распределения. С ними можно ознакомиться в [1], а также непосредственно в справочной системе MathCad (клавиша F1).

 

 

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

 

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

Чаще всего используется линейная регрессия, при которой аппроксимирующая функция y(x) имеет вид:

,

для определения коэффициентов которой в MathCad имеются следующие встроенные функции:

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

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

 

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

 

Чем ближе коэффициент корреляции к единице по модулю, тем точнее исходные табличные данные, определенные векторами VX и VY, описываются линейной зависимостью .

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

k k0 k1 k2 k3 k4 k5 kn+3
ai       a0 a1 a2 an

например, см. рис. 8.8.

 

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

 

Кроме того, в MathCad имеется ряд других функций для проведения различных видов регрессии [1]. Вот некоторые из них:

· linfit(VX, VY, F) - линейная регрессия общего вида;

· loess(VX, VY, span) - аппроксимация отрезками полиномов второй степени;

· genfit(VX, VY, VS, F) - нелинейная регрессия общего вида.

Также MathCad предоставляет пользователю возможности по проведению сглаживания данных, предсказанию (экстраполяции) и т.д., [1].

 

Нахождение корней функций

 

Многие уравнения подчас не имеют аналитического решения. В таких случаях приходится применять численные методы. В MathCad для отыскания корня функции F(x) используется встроенная функция root(F(x), x), перед вызовом которой необходимо задать начальное приближение (рис. 8.9, а).

 

а) б)

Рис. 8.9 Нахождение корня произвольной функции - а и

всех корней полинома – б

 

Для нахождения всех корней полинома n-ой степени необходимо сначала задать вектор его коэффициентов , , …, , а затем применить функцию polyroots (рис. 8.9, б).

 

 

Список литературы и ссылки

1. Дьяконов В.П. Компьютерная математика. Теория и практика. – М.: Нолидж, 2001. – 1296 c.

2. Дьяконов В.П. Системы символьной математики Mathematica 2 и Mathematica. – М.: СК ПРЕСС, 1998. – 328 с.

3. Дьяконов В.П. Математическая система Maple V R3/R4/R5. – М.: Солон, 1998. – 400 c.

4. Дьяконов В.П., Абраменкова И.В. MATLAB 5.0/5.3. Система символьной математики. – М.: Нолидж, 1999. – 640 c.

5. Потемкин В.Г. Система инженерных и научных расчетов MATLAB 5.x. – М.: Диалог-МИФИ, 1999. Т. 1. – 366 с.; Т. 2. – 304 с.

6. Дьяконов В.П. Mathcad 2000: учебный курс. – СПб.: Питер, 2001.. – 501 с.

7. Манзон Б.М. Maple V Power Edition. - М.: Информационно-издательский дом "Филинъ", 1998.

8. Дьяконов В.П. Математическая система Maple V R3/R4/R5. - М. : Солон, 1998.

9. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. - М.: Мир, 1997.

10. Прохоров Г.В., Леденев М.А., Колбеев В.В Пакет символьных вычислений Maple V. - М.: Компания "Петит", 1997.

11. Прохоров Г.В., Колбеев В.В, Желнов К.И., Леденев М.А. Математический пакет Maple V Release 4: Руководство пользователя. - Калуга: Облиздат, 1998.

12. Дьяконов В.П. Справочник MathCAD PLUS 6.0. - М.: СК Пресс, 1997.

13. MathCAD 6.0 PLUS. Финансовые, инженерные и научные расчеты в среде Windows 95. - М.: Информационно-издательский дом "Филинъ", 1996.

14. Потемкин В.Г. Система MATLAB. - М.: Диалог-МИФИ, 1998.

15. Дьяконов В.П. Справочник по применению системы PC MatLab. - М.: Издательская фирма Физматлит ВО "Наука", 1993. – 112 с. (Электронный вариант - http://univer.omsk.ru/~fedoren/djakonov_book.html).

16. Система автоматизации математических расчетов MatLab: Лаб. работы / Сост. С.В. Григорьева, В.Г. Серегина. – Тамбов: Тамб. гос. техн. ун-т, 1999. - 16 с.

17. Система автоматизации математических расчетов MatLab. Ч. 2. Метод. указания / Сост.: С.В. Григорьева, С.В. Мищенко, В.Г. Серегина. – Тамбов: Изд-во Тамб. гос. техн. ун-та, 2000. - 20 с.

18. www.maplesoft.com - Waterloo Maple Inc. (разработчик Maple).

19. www.mathsoft.com - MathSoft Inc. (разработчик MathCAD).

20. www.mathworks.com - MathWorks Inc. (разработчик MatLAB).

http://www.pereplet.ru/obrazovanie/stsoros/


Поделиться:

Дата добавления: 2015-04-05; просмотров: 123; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты