Рис. 9.16. Визуализация проекции вектора на прямую и на плоскость
Важное значение имеет визуализация решения систем линейных уравнений. Для этого используется функция LinearSystemPlot. Примеры ее применения для визуализации решения систем из двух и трех уравнений представлены на рис. 9.17.
Рис. 9.17. Визуализация решения систем из двух и трех линейных уравнений.
Здесь полезно обратить внимание на то, что графические функции визуализации используют необходимые для такой визуализации методы вычислений. Например, при визуализации решения систем линейных уравнений решаются сами уравнения. Если исполнить команду вывода хотя бы одного уровня информации, то можно получить вывод решений в числовой форме. Это и сделано на рис. 9.17.
Еще пара примеров, представленных на рис. 9.18 демонстрирует выполнение линейных преобразований двумерных и трехмерных матриц.
Рис. 9.18. Визуализация линейных преобразований
Рис. 9.19 и рис. 9.20 дают примеры визуализации собственных значений и векторов матрицы. Обеспечивается не только их наглядное графическое представление, но и вывод численных значений.
Рис. 9.19. Визуализация собственных значений и векторов двумерной матрицы (пример 1)
Рис. 9.20. Визуализация собственных значений и векторов двумерной матрицы (пример 2)
Аналогичный пример для трехмерной матрицы представлен на рис. 9.21. Любопытно, что график рис. 9.21 отличается от такового, построенного в системе Maple 9, что указывает на недоработку в одной из систем.
Рис. 9.21. Визуализация собственных значений и векторов трехмерной матрицы
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. График дает представление исходной функции и функции, описывающей изменение значения длины дуги в заданном интервале изменения