
- •Численные методы и универсальные математические пакеты (Номер занятия в оглавлении равен номеру лабораторной работы. Лабораторные работы состоят из практических заданий из соответствующих занятий)
- •Введение
- •Занятие 1. Теория погрешностей Источники и классификация погрешностей.
- •Приближенные числа.
- •2. Погрешность произведения.
- •3. Погрешность частного.
- •Введение в Maple
- •Константы
- •Переменные, неизвестные и выражения
- •Команды преобразования выражений
- •Упрощение выражения: simplify()
- •Раскрытие скобок в выражении: expand()
- •Разложение полинома на множители: factor()
- •Ограничения на неизвестные: assume()
- •Сложные типы данных
- •Последовательность выражений
- •Списки и множества
- •Внутренняя структура выражений
- •Подстановка и преобразование выражений
- •Практическое задание
- •Занятие 2. Приближение функций
- •Приближение полиномом Тейлора
- •Приближение функий заданных таблицей своих значений
- •Алгебраическое интерполирование
- •Интерполяционный многочлен Лагранжа
- •Многочлены Чебышева
- •Разделенные разности и многочлен Ньютона
- •Решение уравнений, неравенств и их систем
- •Команда solve()
- •Команда fsolve()
- •Решение неравенств
- •Дифференцирование и интегрирование
- •Int(выражение, переменная);
- •Практическое задание 1
- •Практическое задание 2
- •Занятие 3. Построение кривой по точкам
- •Линия, построенная методом наименьших квадратов
- •Метод линеаризации данных для экспоненциальной кривой
- •Нелинейный метод наименьших квадратов
- •Линейный метод наименьших квадратов
- •Интерполирование сплайнами
- •Графика в Maple
- •Команда двумерной графики plot()
- •Двумерные команды пакета plots
- •Несколько советов
- •Пространственная графика, команда plot3d()
- •Трехмерные команды пакета plots
- •Практическое задание 1.
- •Практическое задание 2.
- •Практическое задание 3.
- •Практическое задание 4.
- •Занятие 4. Численное дифференцирование Приближение производной
- •Анимация
- •Двумерная анимация
- •Трехмерная анимация
- •Практическое задание 1
- •Практическое задание 2
- •Занятие 5. Численное интегрирование
- •Квадратурные формулы
- •Основы программирования в Maple
- •If булево_выражение then последовательность_операторов
- •Практическое задание 1.
- •Практическое задание 2.
- •Практическое задание 3.
- •Занятие 6. Решение нелинейных уравнений
- •Метод простой итерации
- •Метод бисекции (деления пополам)
- •Метод Ньютона
- •Процедуры в Maple
- •Практическое задание 1.
- •Практическое задание 2.
- •Практическое задание 3.
- •Практическое задание 4.
- •Занятие 7. Решение систем Линейные системы. Метод Гаусса
- •Пакет LinearAlgebra
- •Основные типы данных
- •Элементарные операции с матрицами и векторами
- •Решение систем линейных уравнений
- •Практическое задание 1.
- •Практическое задание 2
- •Практическое задание 3
- •Занятие 8. Решение дифференциальных уравнений
- •Задача Коши
- •Метод Эйлера
- •Методы Рунге-Кутта
- •Системы дифференциальных уравнений
- •Решение обыкновенных дифференцильных уравнений в Maple
- •Практическое задание 1
- •Практическое задание 2.
- •Практическое задание 3.
Трехмерные команды пакета plots
В пространстве кроме декартовой системы координат используются и другие. Наиболее часто применяются цилиндрическая и сферическая системы координат. В пакете plots предусмотрены специальные команды, отображающие графики функций двух независимых переменных в этих системах координат: cylinderplot() и sphereplot().
В цилиндрической системе координат:
cylinderplot(r-exp, theta=диапазон,z=диапазон);
Здесь первый аргумент r-ехр является выражением от двух переменных theta и z и представляет явный вид задания функции. Для параметрической функции используется другая ее форма, в которой первый аргумент является трехэлементным списком, представляющим зависимость трех координат поверхности в цилиндрической системе координат через два параметра, а следующие два аргумента определяют диапазон изменения параметров поверхности:
cylinderplot([r-exp,theta-expr,z-expr], param1=диапазон,param2=диапазон);
Как и во всех графических командах, кроме указанных аргументов можно использовать любые опции трехмерной графики.
Пример. Построение поверхности в цилиндрической системе координат
> # Круговой цилиндр радиуса 1 и высотой 2.
> cylinderplot(1,theta=0..2*Pi,z=-1..1, shading=ZGRAYSCALE);
> # Параметрически заданная поверхность
> cylinderplot([s*t,t,cos(s^2)],t=0..Pi,s=-2..2, shading =ZGRAYSCALE);
В сферической системе координат:
sphereplot(r-exp, theta=диапазон, phi=диапазон)
sphereplot([r-exp,theta-expr,phi-expr],param1=диапазон, param2=диапазон)
Пример. Построение поверхности в сферической системе координат
> # Единичная сфера с центром в начале координат.
sphereplot(1,theta=0..2*Pi,phi=0..Pi, shading=ZGRAYSCALE);
> # Параметрическая поверхность
sphereplot([exp(s)+t,cos(s+t),t],s=0..2*Pi,t=-2..2,orientation=[80,30],grid=[40,40],
scaling=CONSTRAINED) ;
Команда coordplot3d() визуализирует координатные поверхности всех возможных систем координат, используемых в Maple.
Пример. Координатные поверхности пространственных систем координат
> # Цилиндрическая система координат.
> coordplot3d(cylindrical);
> # Сферическая система координат.
> coordplot3d(spherical,style=PATCH,orientation=[0,60],
scaling=CONSTRAINED);
Кривую в пространстве можно задать набором ее точек или как пересечение двух поверхностей. Команда spacecurve() позволяет отобразить пространственную кривую, задаваемую только набором ее точек, причем координаты точек задаются как функции одного параметра.
Пример. Отображение пространственной кривой
> spacecurve([cos(t),sin(t),t],t=0..4*Pi,color=red,thickness=2, axes=BOXED,orientation=[15,65]);
Для построения неявно заданных поверхностей следует использовать команду implicitplot3d(), в которой задается уравнение поверхности и диапазоны изменения всех трех ее переменных. Опцией coords можно определять построение неявно заданных поверхностей в разных системах координат.
Пример. Отображение неявно заданных поверхностей
> # Декартовая система координат
implicitplot3d(x^3 + y^3 + z^3 +1= (x+y+z+1)^3,x=-2..2,
y=-2..2,z=-2..2,shading=ZGRAYSCALE,axes=BOXED,numpoints=6000);
> # Сферическая система координат
implicitplot3d(r=(1.3)^x*sin(y), r=0.1..5, x=-1..2*Pi, y=0..Pi, coords=spherical,numpoints=3000);
Для создания надписей в трехмерном пространстве предназначена команда textplot3d(), синтаксис которой полностью соответствует аналогичной команде для отображения текстовых строк на плоскости с единственным исключением, связанным с заданием текстовых точек: их координаты представляются тремя числовыми значениями. Допустимая опция align выравнивания текста относительно точки имеет те же самые значения с тем же самым смыслом, что и двумерный аналог этой команды.
Пример. Отображение текста в пространстве
> textplot3d([[1,2,-1,"Первая точка"],
[3,2,1,"Вторая точка"]],axes=BOXED,shading=ZHUE,
align={LEET,BELOW},labels=["x","y","z"]);