Чтение онлайн

на главную

Жанры

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> f:=fit[leastsquare[[x, у, z],z=a+b*x+c*y,{a,b,c}]]\

 ([[1,2,3,5,5], [2,4,6,8,8], [3, 5, 7,10, Weight (15, 2)]]) ;

f := z = 1 + 13/3 x - 7/6 у

> fa:=unapply(rhs(f),x,у);

fa := (x, y) -> 1 + 13/3 x - 7/6 у

> fa(l., 2.) ;

2.999999999

> fa(2,3);

37/6

В данном случае уравнение регрессии задано в виде z = а + bх +

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

5.12.4. Линейная регрессия общего вида

Функция fit может использоваться и для выполнения линейной регрессии общего вида:

f(x) = af1(x) +bf2(x) +cf3(x) + …

Функция такой регрессии является линейной комбинацией ряда функций f1(х), f2(х), f3(х), причем каждая их них может быть и нелинейной, например экспоненциальной, логарифмической, тригонометрической и т.д. Пример линейной регрессии общего вида представлен на рис. 5.30.

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

В литературе и даже в документах системы Maple линейная регрессия общего вида часто называется нелинейной регрессий. Однако это неверно, поскольку нелинейной является регрессия, функция которой не может быть представлена линейной комбинацией функций.

5.12.5. О нелинейной регрессии с помощью функции fit

К сожалению, функция fit неприменима для нелинейной регрессии. При попытке ее проведения возвращается структура процедуры, но не результат регрессии — см. пример ниже:

> fit[leastsquare[[х,у], у=а*2^(х/b),{а,b}]]([[1,2,3,4], [1.1,3.9,9.5,15.25]]);

Однако, большинство нелинейных зависимостей удается свести к линейным с помощью простых линеаризирующих преобразований [1, 2, 4]. На рис. 5.31 показан пример экспоненциальной регрессии f(x)=ае, которая (благодаря логарифмированию точек y) сводится к линейной регрессии. Детали преобразований даны в документе рис. 5.31. Используя другие преобразования этот документ легко приспособить для выполнения других видов нелинейной регрессии, например степенной или логарифмической.

Рис. 5.31. Пример экспоненциальной регрессии

Функция нелинейной регрессии входит в новейший пакет оптимизации Optimization, введенный в Maple 9.5, и описанный в следующей главе. Кроме того, на Интернет-сайте корпорации Waterloo Maple можно найти файлы simplenl.mws и gennlr.mws с процедурами и примерами линейной и нелинейной регрессий общего вида. Интересная реализация нелинейной регрессии для кусочной функции дается в файле nonelinearpiecewise.mws.

5.12.6. Сплайновая регрессия с помощью функции BSplineCurve

Функция BSplineCurve

из пакета CurveFitting может использоваться для реализации сплайновой регрессии. Пример этого представлен на рис. 5.32. Опция order задает порядок B-сплайнов, который на 1 меньше заданного целого значения.

Рис. 5.32. Пример выполнения сплайновой регрессии В-сплайнами

Функция BsplineCurve выглядит несколько недоделанной. Так, при order=3 и 4 кривая регрессии не дотягивает до концевых точек, а при установки order=1 все точки соединяются отрезками прямых — в том числе концевые. Так что использовать эту функцию для экстраполяции нельзя.

5.13. Работа с функциями двух переменных

5.13.1. Maplet-инструмент для работы с функциями двух переменных

Для эффектной демонстрации работы с функциями многих переменных в состав пакета Student системы Maple 9.5 введен новый подпакет MultivariateCalculus. Его примеры можно запускать как с командной строки, так и из позиции Tools меню в стандартном варианте интерфейса — Tutors→Calculus→Calculus-Multi-Variables.

Approximate Integration… — открывает Maplet-окно аппроксимации двойных интегралов;

Cross Section… — открывает Maplet-окно демонстрации сечения поверхности;

Directional Derivatives… — открывает Maplet-окно вычисления производных в заданном направлении;

Gradient… — открывает Maplet-окно вычисления градиента;

Taylor Series… — открывает Maplet-окно разложения функций в ряд Тейлора.

Представленные средства носят учебный характер — не случайно они входят в пакет Student. Реально визуализация возможна только для функций двух переменных.

5.13.2. Демонстрация разложения в ряд Тейлора функции двух переменных

Команда Taylor Series… — открывает Maplet-окно разложения функции двух переменных z(х, у) в ряд Тейлора относительно заданной точки (х0, у0). Это окно представлено на рис. 5.33.

Рис. 5.33. Maplet-окно демонстрации разложения в ряд Тейлора функции двух переменных

В данном окне дан пример разложения в ряд Тейлора функции sin(x*y) в окрестности точки (0, 0) в интервале изменения х[-2, 2], у[-2, 2] и z[-1, 1]. Установки в окне совершенно очевидны. Графики в правой части представляют поверхность, описываемую исходной функцией и поверхность, представленную рядом Тейлора. Кнопка Display начинает построение графиков, кнопка Animation позволяет наблюдать анимацию разложения, а кнопка Close закрывает окно и переносит рисунок в текущий документ системы Maple 9 5.

5.13.3. Демонстрация вычисления градиента функции двух переменных

Команда Gradient… — открывает Maplet-окно демонстрации вычисления градиента функции двух переменных z(x, у) в ряд Тейлора относительно заданной точки (х0, y0). Это окно представлено на рис. 5.34.

Рис. 5.34. Maplet-окно демонстрации вычисления градиента функции двух переменных

Работа с этим окном практически не отличается от описанной для примера с рядом Тейлора. Единственное исключение — новая кнопка Gradient Field Plot. Она позволяет строить график поля градиента с помощью стрелок. Этот случай представлен на рис. 5.35.

Поделиться:
Популярные книги

Бастард Императора

Орлов Андрей Юрьевич
1. Бастард Императора
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Бастард Императора

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Законы Рода. Том 9

Flow Ascold
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор