Научная статья на тему 'Математическое моделирование объектов линейной алгебры и аналитической геометрии в системе компьютерной математики Maple'

Математическое моделирование объектов линейной алгебры и аналитической геометрии в системе компьютерной математики Maple Текст научной статьи по специальности «Математика»

CC BY
1008
189
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Филология и культура
ВАК
Область наук
Ключевые слова
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / СИСТЕМЫ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ / АЛГОРИТ-МЫ / ЛИНЕЙНАЯ АЛГЕБРА И АНАЛИТИЧЕСКАЯ ГЕОМЕТРИЯ / MATHEMATICAL MODELLING / COMPUTER MATHEMATICAL SYSTEMS / ALGORITHMS / LINEAR ALGEBRA / ANA-LYTIC GEOMETRY

Аннотация научной статьи по математике, автор научной работы — Самигуллина Алсу Ринатовна

В статье описаны основные принципы математического моделирования и программные процеду-ры в системе компьютерной математики Maple графического представления основных объектов линейной алгебры и аналитической геометрии.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Самигуллина Алсу Ринатовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE MATHEMATICAL MODELLING OF OBJECTS OF LINEAR ALGEBRA AND ANALYTIC GEOMETRY IN THE COMPUTER MATHEMATICAL SYSTEM MAPLE

The basic principles and programme procedures of the mathematical modelling in the computer mathe-matical system Maple for the graphical representations of the Linear Algebra and Analytic Geometry ba-sic objects are described in the article.

Текст научной работы на тему «Математическое моделирование объектов линейной алгебры и аналитической геометрии в системе компьютерной математики Maple»

УДК 512;514; 519.6;519.8

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ОБЪЕКТОВ ЛИНЕЙНОЙ АЛГЕБРЫ И АНАЛИТИЧЕСКОЙ ГЕОМЕТРИИ В СИСТЕМЕ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAPLE

© А.Р.Самигуллина

В статье описаны основные принципы математического моделирования и программные процедуры в системе компьютерной математики Мар1е графического представления основных объектов линейной алгебры и аналитической геометрии.

Ключевые слова: математическое моделирование, системы компьютерной математики, алгоритмы, линейная алгебра и аналитическая геометрия.

1. Введение

Как известно, линейная алгебра и аналитическая геометрия традиционно тесно связаны между собой, что вызвано как историческими корнями этих разделов математики, так и определяющей зависимостью структур аналитической геометрии структурами и методами линейной алгебры. Особенно тесно эта связь проявляется в области векторной алгебры. В свою очередь все наглядные интерпретации алгебраической структуры векторных пространств фактически являются геометрическими. Проблема обеспечения наглядности этих структур играет важную роль в высшем образовании, т.к. усвоение фундаментальных геометрических понятий подготавливает основу для понимания процесса математического моделирования и овладения методами компьютерного моделирования, что в свою очередь, создает предпосылки для инновационного развития современного образования.

Решение проблемы компьютерной реализации объектов линейной алгебры и аналитической геометрии и создания наглядных геометрических образов (интерпретаций) объектов, структур и свойств предполагает решение трех основных задач:

1. построение математических моделей основных алгебраических структур, объектов и свойств;

2. построение их геометрических интерпретаций, т.е., сопоставление их геометрических моделей;

3. построение многопараметрических компьютерных моделей графических образов объектов.

Заметим, что многопараметричность создаваемых компьютерных моделей является важнейшим фактором компьютерных моделей, позволяющим управлять математической моделью, т.е. проводить компьютерное моделирование. Наиболее эффективное решение этих задач воз-

можно в системах компьютерной математики (СКМ), среди которых для целей образования наиболее удобна система Maple. Основными достоинствами этой системы применительно к задачам образования являются относительно невысокая стоимость (по сравнению с MatLab и Mathematica), дружественный и интерактивный интерфейс, великолепные графические возможности, в частности интерактивная трехмерная графика и динамическая (анимация). В этой статье мы рассмотрим основные принципы математического и компьютерного моделирования объектов линейной алгебры и аналитической геометрии в СКМ Maple. Заметим, что для рассмотренных здесь программных процедур конкретная версия Maple, начиная с версии 6, не имеет значения.

2. Математическое моделирование решения системы линейных алгебраических уравнений

Системы линейных алгебраических уравнений являются одним из основных объектов линейной алгебры, а теория систем линейных алгебраических уравнений широко применяется во всех разделах аналитической геометрии, т.к. эти системы описывают весьма важные для геометрии линейные образы (плоскости и прямые).

Рассмотрим решение системы линейных алгебраических уравнений. Пусть дана система из m линейных уравнений относительно n неизвестных:

AX = B ^ Jaklxt = bk; (k = 1,m),

(1)

где А - основная матрица системы, В - матрица-столбец свободных членов, X - матрица-столбец неизвестных:

A =

a ,

V m1

B

v b ,

m

x =

i=1

В пакете LinearAlgebra существует программная процедура решения системы (1), однако она неудобна тем, что представляет решение в малопонятной Российскому студенту форме. Поэтому создадим собственную программную процедуру SolLin в библиотеке Algebra, позволяющую находить решение системы (1) в удобном виде:

>Algebra[SolLin]:=proc(Eqs) local n,m,A,B1,B,F,k1,k2:

n:=LinearAlgebra[ColumnDimension](convert(Eqs,

Matrix)):

A:=convert([seq([coeffs(lhs (Eqs[i]))],i=1..n)],Matri x):

m:=LinearAlgebra[RowDimension](A): B1:=seq(rhs(Eqs[i]),i=1..n):

B:=Vector([B1]):

F:=convert([seq([coeffs(lhs(Eqs[i])),rhs(Eqs[i])],i=

1..n)],Matrix) :k1:=linalg[rank](A):k2:=linalg[rank ](F):

if k1=k2 then

LinearAlgebra[LinearSolve] (A,B,free = 'C'): else

("Система не совместна”): end if: end proc:

и сохраним созданную процедуру в библиотеке Algebra, файле Alg.m :

>save(Algebra,'Alg.m'):.

Для исполнения этой процедуры необходимо вызвать созданную библиотеку из любой рабочей тетради Maple, имеющей собственное имя: >read "\Path\Alg.m": with(Algebra):

Покажем пример решения системы уравнений с помощью созданной процедуры:

>SolLin([x-y+z-u=3,x+y=2,2*x-2*y+2 *z-2*u=6,x-y-z-u=1]);

Исполнение процедуры имеет вид:

■ 2 - C2 C2

-2С2

где С2 - постоянная. Заметим, что созданная процедура представляет решение системы уравнений в стандартной для российских вузов форме, при этом индекс произвольных постоянных соответствует их положениям в матрице общего решения.

3. Математическое моделирование трехмерных линейных объектов

3.1. Алгебраический этап моделирования

Системы линейных алгебраических уравнений имеет адекватную геометрическую интерпретацию (см., например, [1]): каждое линейное

алгебраическое уравнение в п-мерном пространстве определяет гиперплоскость, а система линейных алгебраических уравнений определяет взаимное расположение этих гиперплоскостей. Если система уравнений не имеет решения, то гиперплоскости не пересекаются, т.е. параллельны, в случае существования решения гиперплоскости пересекаются по к-мерным плоскостям, включая 1-мерные (прямые) и 0-мерные (точки). В случае трехмерных пространств, которые важны для общего среднего и нематематического высшего образования, число различных типов взаимного расположения плоскостей или прямых значительно сокращается.

Как известно (см., например, [1]), прямая в евклидовом пространстве Е3 определяется опорной точкой М0 и ненулевым направляющим вектором q Ф 0, как геометрическое место точек Ез:

а (м0, я) = {м е Е3 |м0М = ^я} ,

где параметр X принимает значения на всем множестве действительных чисел М. Плоскость в евклидовом пространстве также определяется опорной точкой М0 и ненулевым нормальным вектором N Ф 0, как геометрическое место точек Е3:

П(М0, N = {м е Е3 (Nм0М) = 0}.

Соответственно этим определениям, при заданном декартовом репере Я{0, е1,е2,е3}, где в; векторы ортонормированного базиса:

(е,, е*) = 5л; ( ( = I3)

прямая а(М0,я) описывается параметрическими (или каноническими) уравнениями:

а (М0, я): X = х0 + 1$; ( = 1,3), (2)

где х0, $, X - координаты опорной точки М0, направляющего вектора я, и текущей точки прямой М, соответственно. Плоскость же в евклидовом пространстве Е3 описывается общим уравнением:

П(М0,N : (г-г0,N) = 0 ^ А,(X - х0) = 0 ^ А(х - х0) + В(у - у0) + С(г - z0) = 0, где А; - координаты нормального N = (А, В, С).

При построении математических моделей линейных объектов в трехмерном евклидовом пространстве принципиально важными являются три теоремы (см. [1] и более подробно [2]):

Теорема 1. Две прямые, а(М!^!) и а(М2^2), в евклидовом пространстве Е3:

1. пересекаются в единственной точке при условии:

(3)

вектора

(я^ q2, м1м 2) *0; (4)

2. параллельны при условиях:

(Я^ Я 2, М1М2 ) = ^ (5)

[я^ Я2] = Я1х я 2 * 0; (6)

3. совпадают при условиях (5) и:

[Я^ Я 2 ] = Я1 Х Я2 = 0 (7)

4. или скрещиваются при условии:

(Я^ Я 2, М1М2 ) = 0 . (S)

Теорема 2. Две плоскости, ПI(МI,NI) и

П2(М2,N2), в евклидовом пространстве Е3:

1. пересекаются по единственной прямой при условии:

[я^ Ч2] * 0; (9)

2. параллельны при условиях:

[я^ Ч2] = 0, (10)

М2 «щм N1); (11)

3. или совпадают при условиях (10) и:

М2 е П1 (М1, N1). (12)

Теорема 3. Прямая ё(Мо,^ и плоскость П (МьN в евклидовом пространстве Е3:

1. пересекаются в единственной точке при условии:

(q, N) * 0; (13)

2. параллельны при условиях:

(q, N) = 0, (14)

M0 ^(M1, N); (15)

3. и совпадают при условиях (14) и:

Mо є П(M1, N). (16)

Фактически уравнения (2), (3) и перечисленные три теоремы с алгебраической точки зрения полностью описывают задачу о взаимном расположении линейных объектов1. Однако, с геометрической точки зрения задача о взаимном расположении линейных объектов еще далеко не завершена.

3.2. Геометрический этап моделировании

При получении ответа о реализации одного из перечисленных типов взаимного расположения линейных объектов в теоремах 1-3 (4 типа для прямых, 3 - для плоскостей и 3 - для плоскостей и прямых) необходимо далее решить конкретную геометрическую задачу. Такими задачами являются:

1. нахождение координат точки пересечения прямых;

2. вычисление угла между прямыми;

3. вычисление расстояния между параллельными прямыми;

1 Под линейными объектами понимаются фигуры, описываемые системами линейных уравнений.

4. нахождение угла между скрещивающимися прямыми;

5. нахождение прямой пересечения плоскостей;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. вычисление угла между плоскостями;

7. вычисление расстояния между параллельными плоскостями;

8. нахождение координат точки пересечения прямой и плоскости;

9. вычисление угла между прямой и плоскостью;

10. вычисление расстояния между параллельными прямой и плоскостью.

Решение каждой из перечисленных выше стандартных геометрических задач обеспечивается рядом определений и алгоритмов, которые дополняют математическую модель и позволяют дать ей четкую геометрическую интерпретацию. Приведем пример моделирования взаимного расположения прямой и плоскости в пространстве в случае их взаимного пересечения (Рис.1). На этом рисунке показано определение угла а между прямой d и плоскостью П как угла между прямой d и ее ортогональной проекцией d1 на плоскость П, при этом численное значение угла

• (qN)

определяется выражением: sina = -—.

и плоскостью П

4. Компьютерное моделирование трехмерных линейных объектов

После завершения этапа математического моделирования переходим к компьютерному моделированию в пакете Maple.

4.1. Компьютерное моделирование взаимного расположения плоскостей

Заметим, что несмотря на внешнюю простоту рассмотренных выше математических моделей их компьютерное моделирование достаточно сложно, поскольку основным требованием к программным продуктам, используемым в учебном процессе, является высокая степень наглядности

и простоты их применения. Поэтому ниже мы продемонстрируем лишь некоторые фрагменты программных процедур. Создадим программную процедуру EqLine3(Eqs,t) полного исследования и геометрического моделирования взаимного расположения двух плоскостей, заданных общими уравнениями Eqs в библиотеке Anal_Geom, позволяющую определить взаимно расположение плоскостей в пространстве2:

> Anal_Geom[EqLine3]: =proc(Eqs,t) local n,m,A,Bl,B,F, kl,k2,SS, SST,EQS,M0,Ml,q,Nl,N2,Ql ,Q2,M2,M3,M4,M5,GPl,GP2,GL,zl,z2,Pl,P2,Wl,W 2:

n:=LinearAlgebra[ColumnDimension](convert(Eqs,

Matrix)):

A:=convert([seq([coeffs(lhs (Eqs[i]))],i=l..n)],Matri x):

m:=LinearAlgebra[RowDimension](A): Bl:=seq(rhs(Eqs[i]),i=l..n):

B:=Vector([Bl]):

F:=convert([seq([coeffs(lhs (Eqs[i])),rhs (Eqs[i])],i=

l..n)],Matrix):

kl:=linalg[rank](A):

k2:=linalg[rank](F):

if kl=2 and k2=2 then

SS:=LinearAlgebra[LinearSolve] (A,B,free='C'): if SS[l]=C[l] then SST:=subs(C[l]=t,SS): elif SS[2]=C[2] then SST:=subs(C[2]=t,SS): elif SS[3]=C[3] then SST:=subs(C[3]=t,SS): end if:

EQS:=[SST[l ], SST[2], SST[3]]:

M0:=convert(subs(t=0,SST),list):

Ml:=convert(subs(t=2,SST),list):

Nl:=convert(linalg[row](A,l),Vector):

N2:=convert(linalg[row](A,2),Vector):

q:=convert(coeff(SST,t),Vector):

Ql:=convert(linalg[crossprod](q,Nl),list):

Q2:=convert(linalg[crossprod](q,N2),list):

M2:=convert(linalg[matadd](M0,Ql,l,l),list):

M3:=convert(linalg[matadd](Ml,Ql,l,l),list):

M4:=convert(linalg[matadd] (M0,Q2,l,l),list):

M5:=convert(linalg[matadd](Ml,Q2,l,l),list):

GL:=plots[spacecurve](EQS,t=0..2,color=red,thick

ness=2):

GPl:=plots[polygonplot3d] ([M0,M2,M3,Ml]):

GP2:=plots[polygonplot3d]([M0,M4,M5,Ml]):

plots[display](GL,GPl,GP2,axes=BOXED,title=”n

лоскости пересекаются по прямой”):

elif kl=l and k2=l then

(Плоскости совпадают ”)

else

zl:=LinearAlgebra[LinearSolve](Matrix([[linalg[ro w](A,l)],[linalg[row](A,l)]]),Vector([B[l],B[l ]]),fr ee='Z):

2 Здесь t - параметр прямой пересечения.

z2:=LinearAlgebra[LinearSolve](Matrix([[linalg[ro w](A,2)],[linalg[row](A,2)]]),Vector([B[2],B[2]]),fr ee='U'):

Pl:=subs({Z[l ]=0,Z[2]=0,Z[3]=0},zl): P2:=subs({U[l ]=0,U[2]=0,U[3]=0},z2): if

zl[l]=Z[l] and zl[2]=Z[2] then Wl:=subs({Z[l ]=u,Z[2]=v},zl[3]): GPl:=plot3d([u,v, Wl],u=0..2,v=0..2,color=green): W2:=subs({U[l]=u,U[2]=v},z2[3]): GP2:=plot3d([u,v, W2],u=0..2,v=0..2,color=red): elif

zl[l]=Z[l] and zl[3]=Z[3] then Wl:=subs({Z[l ]=u,Z[3]=v},zl[3]):

GPl:=plot3d([u, Wl,v],u=0..2,v=0..2,color=green): W2:=subs({U[l]=u,U[3]=v},z2[3]): GP2:=plot3d([u, W2,v],u =0..2,v=0..2,color=red): else

Wl:=subs({Z[2]=u,Z[3]=v},zl[l]): GPl:=plot3d([Wl,u,v], u =0..2,v=0..2,color=green): W2:=subs({U[2]=u,U[3]=v},z2[l ]): GP2:=plot3d([W2,u,v],u=0..2,v=0..2,color=red): end if:

plots[display] (GP1,GP2,axes=BOXED,title = ”Плос кости параллельны”): end if: end proc:

Покажем пример ввода этой программной процедуры для исследования взаимного расположения двух плоскостей, заданных парой общих уравнений:

{2x-2y+z=21; x+2y-z=-9}: ->EqLine3([2*x-2*y+z=2l,x+2*y-z=-9],t); и ее исполнения (Рис. 2). Как видно из этого рисунка, исполнение команды дает изображение двух плоскостей, линию их пересечения и название рисунка, содержащее информацию о взаимном расположении плоскостей.

Плоскости пересекаются по красной прямой

Рис.2. Исполнение команды EqLine3([2*x-2*y+z=2l,x+2 *y-z=-9], t)

Рассмотрим другой пример параллельного расположения плоскостей:

(7х-4у+2=0; 21х-12у+32=29} : -

> ЕцЫпеЗ([7*х-4*у+г=0,21*х-12*у+3*г=29], (); Плоскости параллельны

Рис.3. Исполнение команды EqLine3([7*x-4*y+z=0,21 *x-12*y+3*z=29], t)

4.2. Компьютерное моделирование взаимного расположения прямых

Создадим теперь в библиотеке Anal_Geom программную процедуру

graph3D(M1,q1,M2,q2,a,b,A,B,c1,c2,c3) полного исследования и геометрического моделирования взаимного расположения двух прямых, заданных парой опорных точек M1,M2 и парой направляющих векторов q1,q2 (a,b - коэффициенты,

A,B - обозначение прямых, c1,c2,c3 - цветовые опции прямых и их общего перпендикуляра, если таковой существует):

> Anal Geom [

graph3D]:=proc(M1,q1,M2,q2,a,b,A,B,c1,c2,c3) local gd1,gd2,

M3,MM3,m3,GM3,q3,gdcr,M4,MM4,m4,GM4,GM5,

GM6:

gd1:=graph_d(M1,q1,a, b, c1): gd2:=graph_d(M2,q2,a, b, c2): M3:=cross_par(M1,q1,M2,q2)[1]: M4:=cross_par(M1,q1,M2,q2)[2]: MM3:=convert(M3,list):

MM4:=convert(M4,list): m3:=convert(M(op(MM3)),name): m4:=convert(N(op(MM4)),name): q3:=cross_par(M1,q1,M2,q2)[3]: gdcr:=graph_d(M3,q3,0,1,c3):

GM3:=plots[textplot3d]([op(MM3),m3],align =

{ABOVE,RlGHT},color=NAVY,font=[TlMES,ROM

AN,8]);

GM4:=plots[textplot3d]([op(MM4),m4],align =

{ABOVE,RlGHT},color=NAVY,font=[TlMES,ROM

AN,8]);

GM5:=plots[textplot3d]([Ml [l]+0.2,Ml [2]+0.2,M l[3]+0.2,'A'], align =

{ABOVE,LEFT},color=cl,font=[TlMES,ROMAN,l0

]);

GM6:=plots[textplot3d]([M2[l]+0.2,M2[2]+0.2,M 2[3]+0.2,'B'], align =

{BELOW,RlGHT},color=c2,font=[TlMES,ROMAN,

l0]);

plots[display](gdl,gd2,gdcr,GM3,GM4,GM5,GM6,a xes=BOXED,labels=[X,Y,Z],title = 'Скрещивающие ся прямые a и b;

прямая MN - кратчайший перпендикуляр'): end proc:

Приведем пример ввода и исполнения программы исследования взаимного расположения двух прямых (Рис. 4):

> graph3D([0,l,-2],[-2,0,l],[-l,-l,2],[l,2,-l],-

2,2,a,b, blue, COLOR(RGB, 0,0.5,0.5), black);

Скрещивающиеся прямые а и b; прямая MN - кратчайший перпендикуляр

Рис.4. Исполнение команды graph3D([0,l,-2],[-2,0,l],[-l,-l,2],[l,2,-l], -2,2,a,b, blue, COLOR(RGB,0,0.5,0.5),black)

5. Заключение

Таким образом, создана библиотека программных процедур по курсу линейной алгебры и аналитической геометрии, позволяющая простыми командами проводить исследование линейных алгебраических уравнений и линейных геометрических объектов с графическим отображением результатов исследования. Данная библиотека программных процедур сопровождается подробной инструкцией с конкретными примерами, созданной в пакете Maple.

1. Атанасян Л.С., Базылев В.Т.. Геометрия. - М.: Просвещение, 1987. - Ч.1. - 352 с.

2. Игнатьев Ю.Г. Курс лекций по аналитической геометрии. - Казань: Изд-во НИЛИТМО, ТГГПУ, 2005. - Ч.1, II. - 124 с.

3. Дьяконов В.. Maple 7. Учеб. курс. - СПб.: Питер, 2002. - 672 с.

4. Проблемы информационных технологий в математическом образовании: учеб. пособ. / Под ред. Ю.Г. гнатьева. - Казань: ТГППУ, 2005. - 118 с.

5. Матросов А.В. Maple 6. Решение задач высшей математики и механики. - СПб: БХВ-Петербург, 2001. - 528 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Игнатьев Ю.Г., Самигуллина А.Р. Библиотеки пользовательских программных процедур для методического сопровождения курса высшей математики. Труды Математического центра имени Н.И.Лобачевского: Материалы Восьмой моло-

дежной научной школы-конференции "Лобачевские чтения - 2009". - Казань: Казан. матем. об-во, 2009. - Т.39. - 417 с.

7. Самигуллина А.Р. Создание компьютерных средств сопровождения курса линейной алгебры и аналитической геометрии для нематематических факультетов с помощью СКМ Maple. Системы компьютерной математики и их приложения: материалы международной конференции. - Смоленск: СмолГу, 2009. - Вып.10. - 303 с.

8. Игнатьев Ю.Г., Самигуллина А.Р.. Библиотека программных графических процедур по курсу алгебры и аналитической геометрии в пакете Maple. Системы компьютерной математики и их приложения: материалы XI международной научной конференции, посвященной 70-летию профессора

В.П.Дьяконова. - Смоленск: СмолГу, 2010. -Вып.11. - 342 с.

THE MATHEMATICAL MODELLING OF OBJECTS OF LINEAR ALGEBRA AND ANALYTIC GEOMETRY IN THE COMPUTER MATHEMATICAL SYSTEM MAPLE

A.R.Samigullina

The basic principles and programme procedures of the mathematical modelling in the computer mathematical system Maple for the graphical representations of the Linear Algebra and Analytic Geometry basic objects are described in the article.

Key words: mathematical modelling, computer mathematical systems, algorithms, Linear Algebra, Analytic Geometry.

Самигуллина Алсу Ринатовна - аспирант кафедры геометрии и математического моделирования Татарского государственного гуманитарно-педагогического университета.

E-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.