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

ЖАНРЫ

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

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

Шрифт:

9.6.4. Визуализация метода наименьших квадратов

Задача приближения облака точек данных отрезком прямых или линией с минимальной ошибкой (регрессия) обычно решается методом наименьших квадратов. Приближающая линия проходит в облаке точек так, чтобы алгебраическое значение площади всех квадратов со сторонам, равными отклонениям точек от линии приближения (регрессии) было равно нулю. Как правило, реализация метода наименьших квадратов основана на решении соответствующим образом подготовленной системы линейных уравнений. Функция LeastSquareFlot обеспечивает наглядную визуализацию результатов метода наименьших квадратов.

Рис. 9.22 показывает пример визуализации одномерной линейной регрессии для 6 точек. Выводятся

данные регрессии (ее уравнение и погрешности — среднеквадратическая и максимальная), линия регрессии, исходные точки и квадраты, характеризующие площади отклонения.

Рис. 9.22. Визуализация одномерной линейной регрессии

На другом рисунке (рис. 9.23) представлен пример визуализации для полиномиальной регрессии (полином третьей степени). В данном случае функция регрессии существенно нелинейна.

Рис. 9.23. Визуализация полиномиальной регрессии

Наконец рисунок 9.24 показывает пример визуализации линейной регрессии для данных, приближаемых линейной функцией двух переменных. В данном случае характеристикой отклонения являются объемы кубов.

Рис. 9.24. Визуализация двумерной линейной регрессии

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

9.6.5. Подпакет вычислений для первокурсников Calculus1

Подпакет вычислений для первокурсников Calculus1 содержит довольно изысканные средства для решения задач математического анализа. Практически все из них уже были рассмотрены в Главе 4 применительно к работе в командном режиме. Поэтому отметим лишь возможности этого подпакета в интерактивном режиме.

В интерактивном режиме подпакет Calculus1 имеет эффектные средства для визуализации таких операций, как вычисление производных и интегралов, представление касательных и перпендикуляров, дуг, линий уравнений, поверхностей и т.д. Эти средства находятся в разделе справки Interactivе данного подпакета. С ними легко познакомиться, поэтому ограничимся парой примеров.

Пусть надо вычислить корень уравнения 0.1*х^3-100 = 0. Для этого исполним команды:

> with(Student[Calculus1]):

NewtonsMethodTutor(.1*х^3-100, x=0..2);

Заданное в функции NewtonMethodTutor выражение появится в интерактивном окне, представленном на рис. 9.25, в его правой части. Уравнение можно скорректировать. Кроме того, можно задать пределы изменения x, а и b, начальное значение х=х0 и число итераций. В левой части окна представлен график функции и точки, соответствующие значениям выражения в каждой итерации (они даны ниже) Точки соединены отрезками прямых, что дает наглядное представление о ходе итераций. В частности видно, что в нашем случае после кратковременного выбега итерационного процесса он приобретает быстро сходящийся характер.

Рис. 9.25. Иллюстрация итераций при решении нелинейного уравнения методом Ньютона

А теперь рассмотрим вычисление длины дуги, заданной произвольным выражением, например 2-х^3 в интервале изменения х от 0 до 2. Для этого исполним команду (вызов подпакета опущен, поскольку был выполнен ранее):

> ArcLengthTutor(2-х^3, х=0..2);

Интерактивное

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

Рис. 9.26. Иллюстрация к вычислению длины дуги

9.6.6. Подпакет вычислений Precalculus

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

Например, для получения графика и корней полинома х^3 + 3*х^2 - 2 достаточно исполнить команды:

> with(Student[Precalculus]):

> PolynomialTutor(х^3+3*х^2-2);

В появившемся интерактивном окне можно наблюдать график полинома и список его действительных корней — рис. 9.27.

Рис. 9.27. Окно с графиком полинома и его вычисленными корнями

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

> StandardFunctionsTutor;

При таком задании в окне задается функция синуса, но ее можно изменить на другую функцию или выражение со стандартными функциями — например, sin(x)/x (рис. 9.28). Кроме графика исходной функции (он дан красным цветом) строится график преобразованной функции. Используется линейное преобразование с набором заданных параметров а, b, с и d.

Рис. 9.28. Окно с графиком основной и преобразованной функциями

9.6.7. Другие возможности и особенности пакета Student Package

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

К сожалению, ввиду новизны пакета он содержит явные недоработки. Например, на рис. 9.25 непонятно, что выводит третья кривая на рисунке — объяснения по этому поводу нет в справке по примененной функции. При больших x места на графике для представления чисел, отложенных по осям, явно не хватает и цифры отображаются с большими искажениями. Впрочем, стоит отметить, что по пакету представлены исходные коды на Maple-языке, так что чересчур требовательный пользователь может довести пакет «до ума». Несомненно, что корпорация Maple-Soft планирует существенное расширение средств Maplets в программных утилитах, включенных в пакеты расширений систем Maple.

Глава 10

Типовые средства программирования

По существу все описанные выше средства (операторы, команды и функции) систем Maple 9.5/10 являются компонентами языка программирования системы Maple. Но есть ряд типовых средств программирования (функции пользователя, условные выражения, циклы, средства вывода, маплеты и др.), которые и рассматриваются в данной главе [23, 51, 52]. Применение таких средств существенно расширяет возможности систем Maple в решении ряда математических и научно-технических задач.

Поделиться с друзьями: