
- •«Тихоокеанский государственный университет»
- •Факультет компьютерных и фундаментальных наук
- •Кафедра «Прикладная математика»
- •Содержание
- •1.Основные принципы работы в математическом пакете Maple.
- •1.1. Структура окна в Maple.
- •1.2.Арифметические операции.
- •1.3.Синтаксис команд. Стандартные функции.
- •2. Матрица. Определители слу.
- •3.Векторное пространство.
- •4.Построение кривых и поверхностей.
- •5.Диффиренциальные и интегральные исчисления.
- •6.Диффиренциальные уравнения.
2. Матрица. Определители слу.
Основные функции по этой теме можно представить в следующей таблице:
Функции |
Назначение |
matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…, [an1,an2,…,anm]]) |
определение (задание) матрицы |
diag |
задание диагональной матрицы |
matadd(A,B),add(A,B) |
сложение двух матриц одинаковой размерности |
evalm(A&*B), multiply(A,B) |
произведение двух матриц |
det(A),determinant(A) |
определитель матрицы |
minor(A,i,j) |
возвращает матрицу, полученную из исходной матрицы А вычеркиванием i-ой строки и j-ого столбца. |
det(minor(A,i,j)) |
вычисление минора |
rank(A) |
вычисление ранга матрицы |
evalm(1/A), inverse(A) |
нахождение обратной матрицы от исходной |
transpose(A) |
транспонированная матрица |
orthog(A) |
проверка ортогональности матрицы |
Приведем примеры использования данных функций в Maple:
1. нахождение определителя матрицы
> A:=Matrix([[4,-5,-1,-5],[-3,2,8,-2],[5,3,1,3],[-2,4,-6,8]]);
> Determinant(A);
2.произведение, сложение, транспонирование матриц
> A:=Matrix([[1,2,2,-1],[2,3,4,5],[1,3,2,5],[3,2,4,-3]]);
> B:=Matrix([[4,2,-1],[-1,3,3],[-2,4,-3],[1,3,2]]);
> Multiply(A,B);
> Multiply(2*A,B);
> Add(2*A,-1);
> Transpose(A);
> Transpose(B);
3.нахождение ранга матрицы
> A:=Matrix([[2,1,-1],[4,-1,-2]]);
> Rank(A);
3.Векторное пространство.
К этой теме относятся следующие функции:
Функции |
Назначение |
vector([x1,x2,…,xn]) |
определение вектора в Maple |
evalm(a+b),matadd(a,b) |
сложение двух векторов |
add |
позволяет вычислить линейную комбинацию векторов |
dotprod(a,b) |
скалярное произведение векторов |
crossprod(a,b) |
векторное произведение векторов |
angle(a,b) |
угол между двумя векторами |
norm(а,2) |
норма вектора |
basis([a1,a2,…,an]) |
нахождение базиса |
GramSchmidt([a1,a2,…,an]) |
ортогонализирование системы линейно-независимых векторов |
ReducedRowEchelonForm(A); |
единичная расширенная матрица |
Примеры использования некоторых функций:
1.нахождение базиса, угла между векторами и нормы вектора
> e1:=<-1|1|0>:
> e2:=<2|0|1>:
> e3:=<1|2|1>:
> B:=Basis([e1,e2,e3]);
> angle(e1,e3);
> norm(e1,2);
2.нахождение матрицы Грамма базиса В, при заданном скалярном произведении
> G:=Matrix([[DotProduct(e1,e1),DotProduct(e1,e2),DotProduct(e1,e3)],[DotProduct(e2,e1),DotProduct(e2,e2), DotProduct(e2,e3)],[DotProduct(e3,e1),DotProduct(e3,e2),DotProduct(e3,e3)]]);
3.нахождение матрицы линейного преобразования
> y1:=Multiply(A,Transpose(Matrix([[e1]])));
> y2:=Multiply(A,Transpose(Matrix([[e2]])));
> y3:=Multiply(A,Transpose(Matrix([[e3]])));
> Q:=ReducedRowEchelonForm(Transpose(Matrix([[-1,1,0],[2,0,1],[1,2,1],[0,4,2],[1,-3,-1],[2,4,2]])));
4.Построение кривых и поверхностей.
Применяются следующие функции:
Функции |
Назначение |
plot(f(x), x=a..b, y=c..d, parameters) |
построение графиков функции одной переменной (кривые) |
implicitplot(F(x,y)=0, x=x1..x2, y=y1..y2) |
построение графика функции, заданной неявно |
inequals({f1(x,y)>c1,…,fn(x,y)>cn}, x=x1…x2, y=y1..y2, options) |
построение двумерной области, заданной неравенствами |
display |
вывести график на экран |
plot3d(f(x,y), x=x1…x2, y=y1…y2, options) |
график поверхности, заданной явной функцией |
plot3d([x(u,v),y(u,v), z(u,v)], u=u1..u2, v=v1..v2) |
график поверхности, заданной параметрически |
implicitplot3d(F(x,y,z)=c, x=x1..x2, y=y1..y2,z=z1..z2) |
график поверхности, заданной неявно |
spacecurve([x(t),y(t),z(t)],t=t1..t2), |
график пространственной кривой |
animate |
двумерные анимации |
animate3d |
трехмерные анимации |
Примеры использования данных функций:
1.изобразить какую-нибудь поверхность, используя анимацию
> animate( implicitplot3d, [x^2+y^2=t, x=-5..5, y=-5..5, z=0..t], t=0..5);
2.построение кривой на плоскости
> implicitplot(x^2+y^2-3*x+2^y-0.5=0, x=-3..3, y=-3..3, color=green, thickness=7);
построение кривой в пространстве
>implicitplot3d(x^2+9*y^2=9,x=-3..3, y=-3..3, z=-3..3);
3.изобразить в пространстве движение точек по трем основным сферам
> ball2 := proc(x,y,z) plots[pointplot3d]([[x,y,z]],color=blue,symbol=solidcircle,symbolsize=40) end proc:
> sinewave2 := spacecurve( [0, sin(t), cos(t), t=0..2*Pi], color=red ):
> f2:=animate( ball2, [0, sin(t), cos(t)], t=Pi..4*Pi, frames=100,
background=sinewave2, scaling=constrained ):
> ball1 := proc(x,y,z) plots[pointplot3d]([[x,y,z]],color=blue,symbol=solidcircle,symbolsize=40) end proc:
> sinewave1 := spacecurve( [sin(t),0, cos(t), t=0..2*Pi], color=red ):
> f1:=animate( ball1, [ sin(t),0, cos(t)], t=Pi..4*Pi, frames=100,
background=sinewave1, scaling=constrained ):
> ball3 := proc(x,y,z) plots[pointplot3d]([[x,y,z]],color=blue,symbol=solidcircle,symbolsize=40) end proc:
> sinewave3 := spacecurve( [sin(t), cos(t),0, t=0..2*Pi], color=red ):
> f3:=animate( ball3, [sin(t), cos(t),0], t=Pi..4*Pi, frames=100,
background=sinewave3, scaling=constrained ):
> display(f3,f1,f2);