- •1. Теоретическое занятие
- •Компьютерная алгебра.
- •Использование систем компьютерной алгебры.
- •2. Практическое занятие
- •Лабораторная работа 1.
- •Разложение в ряд Тейлора
- •Лабораторная работа 2
- •Сходимость ряда Тейлора
- •Лабораторная работа 3
- •Вычисление интегралов
- •3. Практическое занятие
- •Лабораторная работа 4
- •Метод наименьших квадратов
- •Лабораторная работа 5
- •Быстрое преобразование Фурье
- •4 Практическое занятие
- •Задачи:
- •Литература
зависимости от степени полинома
> display([B,C]);
Это проекция трехмерного графика, покрутив которую можно увидеть характерный "стаканчик", диаметр которого постепенно увеличивается с ростом степени полинома Тейлора.
Рассмотрим теперь функцию с сингулярностью, которая будет ограничивать увеличение радиуса сходимости.
> g:=(x,y)->1/(x^2+y^2);
G:=plot3d(g(x,y),x=x0-r..x0+r,y=y0-r..y0+r,view=0..60,grid=[25,15],style=patch,axes=boxed): display([G,C]);
Красным отмечена точка, в окрестности которой рассматривается разложение ряд Тейлора.
Построим графики погрешности аппроксимации
> for i from 0 to N do deg := inDeg + step*i:
A[i] := plot3d(abs(mtaylor(g(x,y),[x=x0, y=y0], deg)-g(x,y)), x=x0-r..x0+r, y=y0-r..y0+r, view= 0..0.2, orientation=[0,0],title=cat("Погрешность при N=",deg)):
end do:
Выведем графики на экран
> B:=display([seq(A[i], i=0..N)], insequence = true, style=patch, view=0..0.2,axes=boxed):
добавив к ним изображение исходной точки и сингулярности, которая ограничивает область сходимости ряда
> F:=pointplot3d([[0,0,0]], color=blue,symbol=circle,symbolsize=12, thickness=5): display([B,C,F]);
Наглядно видно, что область сходимости не увеличивается, в отличие от предыдущего случая!
Лабораторная работа 3
Вычисление интегралов
Используя цилиндрические координаты найти объем тела, ограниченного
|
( x2 |
+ y2 )5 |
= ( x2 − y2 ) |
2 |
поверхностью |
|
|
и плоскостями z=0, z=2. |
|
|
2 |
В цилиндрических координатах поверхность определяется уравнением ρ = (cos2 (θ) −sin 2 (θ))2 . Нарисуем эту поверхность
> restart: x:=cos(2*theta)^2*cos(theta): y:=cos(2*theta)^2*sin(theta):
surf:=plot3d([x,y,z],theta=0..2*Pi,z=-1..3,grid=[60,5]):
и две плоскости
> planes:=plot3d({0,2},x=-1.5..1.5,y=-1.5..1.5):
выведем графики на экран
8