Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по учебной практике.docx
Скачиваний:
37
Добавлен:
15.05.2015
Размер:
877.95 Кб
Скачать

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);