Применение пакета Maple в задаче сглаживания эмпирических данных

Библиографическое описание статьи для цитирования:
Заваровский Ю. Н. Применение пакета Maple в задаче сглаживания эмпирических данных // Научно-методический электронный журнал «Концепт». – 2016. – Т. 15. – С. 1761–1765. – URL: http://e-koncept.ru/2016/96271.htm.
Аннотация. В статье представлена разработанная автором процедура для работы в универсальном математическом пакете Maple. Эта процедура ориентирована в первую очередь на преподавателей математики высшей школы при изучении темы «Метод наименьших квадратов». Она позволит преподавателю не только составить необходимое число вариантов, но и получить подробнейшие решения со всеми промежуточными результатами и все необходимые графики.
Комментарии
Нет комментариев
Оставить комментарий
Войдите или зарегистрируйтесь, чтобы комментировать.
Текст статьи
Заваровский Юрий Николаевич,кандидат физикоматематических наук, доцент кафедры Информатика, математика и общегуманитарные науки»,Пензенский филиал Финансового университета при Правительстве Российской федерации, г. Пенза,Kitonum@yandex.ru

Применение пакета Mapleв задаче сглаживанияэмпирических данных

Аннотация. В статье представленаразработаннаяавтором процедурадля работы в универсальном математическом пакете Maple. Эта процедура ориентирована в первую очередь на преподавателей математики высшей школы при изучении темы Метод наименьших квадратов». Она позволит преподавателю не только составить необходимое число вариантов, но и получить подробнейшие решения со всеми промежуточными результатамии все необходимые графики. Ключевые слова:сглаживание, Maple, эмпирические данные, метод наименьших квадратов.

На практике часто встречается задача сглаживания опытных данных, представляющих взаимосвязь двух переменных величин и . Сами данные обычно представлены в виде таблицы









Наиболее простой и естественный способ ‬выбор линейной зависимости , определяемой двумя параметрами и . Эти параметры обычно разыскивают с помощью метода наименьших квадратов, при котором минимизируется сумма квадратов невязок

Для непосредственного разыскания параметров и необходимо решить систему нормальных уравнений

Однако решение указанной системы, особенно при больших ,сопряжено с весьма громоздкими, хотя и рутинными, вычислениями. Поэтому представляется целесообразным разработка методов автоматизации решения этой задачи, чему и посвящена данная работа.В статьепредставлена разработанная автором процедура, в автоматическом режиме решающая как проблему разыскания параметров линейной функции методом наименьших квадратов,так и сравнивающая степень приближения найденной линейной функции с приближение некоторой другой наперёд заданной функцией. Процедура написана на Mapleязыке и работает во всехверсиях пакета Maple, начиная с Maple6, какв ClassicWorksheetтак и в StandardWorksheet[1]. Процедура ориентирована на использование в учебном процессе в курсе математического анализа при изучении темы Метод наименьших квадратов»и адресована в первую очередь преподавателям, ведущим данную дисциплину. Текст процедуры написан на основе методов и формул из учебника[2]Н.Ш. Кремера "Высшая математика для экономистов", глава 15. Имя процедуры ‬EmpiricalFormula.Ниже приводятся описание процедуры, листинг и пример работы процедуры. Форматвызовапроцедуры:EmpiricalFormula(X::list,Y::list,q::equation)Формальные аргументы процедуры:X‬список значений переменной ,Y‬списокзначений переменной ,

g‬уравнение некоторой функции в виде .Описание процедуры: Вызов процедуры EmpiricalFormulaвозвращает все суммы, необходимые при ручном счёте для составления системы нормальных уравнений, саму систему нормальных уравнений для нахождения параметров линейной зависимости и , уравнение прямой в виде . Возвращаются также среднее квадратичное невязок системы точек относительно найденной прямой и относительно наперёд заданной кривой и делается вывод о том, какая из линий или лучше выравнивает исходные опытные данные . Наконец, программа на одном чертеже строит саму систему точек (в виде маленьких квадратиков) и сами линии: прямую илинию .Листингпроцедуры:� EmpiricalFormula:=proc(X::list,Y::list,g::equation)local h,f,A,B,t,s;Digits:=4;h:=rhs(g);print(`Необходимые суммы для дальнейших вычислений:`);print(Sum(x[`i`],`i`=1..nops(X))=add(X[i],i=1..nops(X)),Sum(x[`i`]^`2`,`i`=1..nops(X))=add(X[i]^2,i=1..nops(X)),Sum(y[`i`],`i`=1..nops(X))=add(Y[i],i=1..nops(X)),Sum(x[`i`]*y[`i`],`i`=1..nops(X))=add(X[i]*Y[i],i=1..nops(X)));print(`Система нормальных уравнений для нахождения параметров a и b прямой f (y=ax+b):`);print(add(X[i]^2,i=1..nops(X))*a+add(X[i],i=1..nops(X))*b=add(X[i]*Y[i],i=1..nops(X)));print(add(X[i],i=1..nops(X))*a+nops(X)*b=add(Y[i],i=1..nops(X)));f:=evalf[6](CurveFitting[LeastSquares](X,Y,x));A:=plots[pointplot]([seq([X[i],Y[i]],i=1..nops(X))],symbol=box);B:=plot([f,h],x=X[1]0.7..X[nops(X)]+0.7,thickness=2,color=[red,blue],linestyle=[1,4]);print(`Уравнение прямой f имеет вид:`);print(y=f);print(`Среднее квадратичное невязок для заданной системы точек относительно найденной прямой f :`);t:=evalf(sqrt(add((Y[i]subs(x=X[i],f))^2,i=1..nops(X))/nops(X)));print(delta=t);print(`Среднее квадратичное невязок для заданной системы точек относительно заданной линии g `,g,` :`); s:=evalf(sqrt(add((Y[i]subs(x=X[i],h))^2,i=1..nops(X))/nops(X)));print(delta[1]=s);

if ten

print(elta<elta[1],`поэтому найденная прямая f лучше выравнивает`); print(`экспериментальные данные, чем линия g`);

else

print(elta1<elta[1],`поэтому заданная линия g лучше выравнивает`); print(`экспериментальные данные, чем прямая f`);

fi;print(); plots[display]([A,B],axes=normal,thickness2,title"Графическое изображение заданной системы точек (маленькие\n квадратики),прямой f (красным цветом) и линии g (пунктирно синим цветом):",titlefont[TIMES,ITALIC,12]);end proc;

В качестве примера работы процедуры рассмотрим пример, разобранный в главе 15 книги [2]. Для сравнения приближений возьмём параболу .EmpiricalFormula([17.28,17.05,18.30,18.80,19.20,18.50],[537,534,550,555,560,552], y=6*(x16.5)^2+530);









Рис. 1. Пример работы процедуры EmpiricalFormula

Ссылки на источники1. Аладьев В.З. Системы компьютерной алгебры: Maple: Искусство программирования. ‬М.: Лаборатория базовых знаний, 2006. 2. Кремер Н.Ш. Высшая математика для экономистов: Учебник для вузов. ‬М.: ЮНИТИДАНА, 2014.