![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Тема 2. Программный продукт MathCad ⇐ ПредыдущаяСтр 5 из 5 Лекция 9 (1 час) Вопросы для изучения: 1) Интерполяция в MathCad. 2) Регрессионный анализ 3) Нахождение корней функций.
Обработка данных и статистика
При проведении анализа различных физических явлений, технологических процессов результаты эксперимента обычно представляются в виде табличной зависимости функции y(x),
причем число заданных точек этой зависимости ограничено. Поэтому неизбежно возникает задача приближенного вычисления значений функции в промежутках между узловыми точками (интерполяция) и за их пределами (экстраполяция). Эта задача решается аппроксимацией или интерполяцией исходной зависимости, т.е. ее подменой какой-либо достаточно простой функцией [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, элементы которого, начиная с четвертого, представляют собой коэффициенты аппроксимирующего полинома
например, см. рис. 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-ой степени
Список литературы и ссылки 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/
|