
- •Математические пакеты
- •Как набирать греческие буквы (выводятся на экран при выдаче результата)
- •Машинные константы:
- •!!!Присвоение сохраняется до тех пор, пока оно не будет снято или же не будет заменено другим присвоением!!!
- •Уравнения
- •Неравенства
- •Конечные суммы
- •Бесконечные суммы
- •Графика в maple
- •Дифференциальные уравнения
- •Линейная алгебра
- •Задание вектора
- •Основные задачи линейной алгебры
- •Программирование
- •Уравнения………………………………………………………………….. 8 Неравенства………………………………………………………………… 9
Графика в maple
Графика на плоскости.
1) График функции y = f(x) на отрезке [a,b]
>plot(f(x), x=a..b); или >plot(f(x), x=a..b, options);
Примечание. В пакетеMAPLE 11 можно к координатным осям добавить сетку координат, выделив график и нажав значок сетки (правый).
В качестве опций (справка по команде >?plot[options]) могут быть
А) ЦВЕТ ЛИНИИ color=black, red, blue, green,… см. также >?plot[color]
Б) ТОЛЩИНА ЛИНИИ thickness=0, 1, 2, 3 (больше номер – больше толщина)
В) НАДПИСЬ НА ГРАФИКЕ title=`Parabole` (надпись в обратных кавычках или без них)
Г) КОЛИЧЕСТВО МАРКИРОВАННЫХ ТОЧЕК на оси Х xtickmarks=5
на оси Yytickmarks=7
Д) КОЛИЧЕСТВО РАСЧЕТНЫХ ТОЧЕК ГРАФИКА numpoints=80 (по умолчанию=49).
Е) ОБРЕЗАНИЕ ГРАФИКА (при бесконечных разрывах)
по Y : y=y1..y2 или view= y1..y2 ; по осям X, Y : view=[x1..x2 , y1..y2] .
Ж) В точках разрыва возникают вертикальные прямые, которые можно удалить при помощи опции discont=true.
З) В MAPLE 11 опцияaxis=[gridlines=[n,color=...]] добавляет координатную сетку с заданным количеством линий и с заданным цветом.
Примечание. Если в окне графика щелкнуть какую-нибудь точку, то вверху слева в окошечке появятся координаты этой точки. В последних версиях щелкаем в области графика иводим по графику курсором. В окошечке автоматически высвечиваются координаты курсора. Признак попадания на кривую в пакетеMAPLE 9.5 – кривая становится жирной, в MAPLE 11 – тройной.
Если щелкнуть по кривой правой мышью, то появится таблица опций (цвет, толщина и т.д.)
2) График функции y = f(x) на отрезке [–10, 10]
>plot(f(x), х);
3) График функции y = f(x) на всей числовой оси (–, +)
>plot(f(x),x= –infinity..infinity);
>plot(exp(x),x= –infinity..infinity);
Числовые оси Х и Yумещаются на отрезках [–1, 1] за счет изменения масштаба (он уменьшается по мере удаления от начала координат). Поэтому на кривой могут возникать точки перегиба, которых нет в реальности.
4) Параметрически заданная кривая >plot([x(t),y(t),t=a..b],options);
Пример. Фигура Лиссажу >plot([cos(5*t),sin(3*t),t=0..2*Pi]);
5) Кривая в полярных координатах >plot([(t),(t), t=a..b], coords=polar);
Примеры. Спираль Архимеда >plot([t/Pi, t, t=0..2*Pi], coords=polar);
Кардиоида >plot([1+cos(t), t, t=0..2*Pi], coords=polar);
6) Несколько однотипных кривых на одном графике (используют либо {…} либо […] )
>plot({x^2, 1–x,sqrt(x)},x= –2..2); три явно заданных кривых.
Цвет и толщину каждой из них можно задавать соответственно опциями
color=[black, red, green] , thickness=[2, 3 , 1]. ВНИМАНИЕ! Чтобы было соответствие между кривой и опцией кривые нужно задавать в квадратных скобках.
>plot({[cos(t),sin(t),t=0..Pi], [t^2,t,t= –1..1]}); две параметрически заданных кривых.
>plot({[t/Pi, t, t=0..7], [1+cos(t), t, t=0..2*Pi]},coords=polar); две кривых в полярных коорд.
>plot({[sin(t),t,t=0..Pi/2],[–sin(t),t,t=Pi..3*Pi/2],[1,t,t=0..2*Pi]},coords=polar); «Инь–Ян»
Можно совмещать также параметрическую и явно заданную кривые. Переменную следует обозначать одной и той же буквой!
>plot({t^2, [cos(t),sin(t),t=0..2*Pi],1–t}, t= –1..1);
7) Семейство кривых y=f(x,n), nN >plot({seq(f(x,n), n=2..7)}, x = a,,b);
Пример. a) >plot({seq(x^n, n=2..7)}, x=0..1, color=black); b) >plot([x^n$n=2..7],x=0..1,color=black);
Для варианта а) можно рисовать кривые с избранными номерами, задавая n=[3, 5, 11].
8) Неявно заданная кривая >with(plots):
Кривая f(x,y)=0 >implicitplot(f(x,y), x = a..b, y = m..n, options);
Кривая f(x,y)=g(x,y) >implicitplot(f(x,y)=g(x,y), x = a..b, y = m..n);
Несколько кривых f(x,y)=0, g(x,y)=0 >implicitplot({f(x,y), g(x,y)}, x = a..b, y = m..n);
Опции толщины и цвета можно задавать для каждой кривой отдельно в квадратных скобках! При этом уравнения кривых должны задаваться также вквадратных скобках!
>implicitplot([x^2+y^2=2,x–y], x= –2..2, y= –2..2, color=[black, green]);
Сетка вычисляемых точек задается опцией grid=[m,n]. По умолчаниюm=n=25.
Примечание. 1) Можно обойтись без подгрузки >with(plots): , используя составную команду
>plots[implicitplot](.........) ; 2) Сложную кривую полезно разложить на множители и строить несколко кривых.
9) Функция DISPLAY(совмещение разнотипных объектов на одном чертеже) >with(plots):
>F:=plot([t/Pi,t,t=0..2*Pi],coords=polar): спираль Архимеда в полярных координатах.
>G:=plot(x^2,x=-3..3,color=red): явно заданная парабола.
>H:=implicitplot(x^2+2*x*y+3*y^2=6, x= –3..3,y= –3..3): неявно заданный эллипс.
>display({F,G,H},view=[–3..3, –2..2]);
Примечание. Можно обойтись без подгрузки >with(plots): , используя составную команду
>plots[display]({F,G,H},view=[–3..3, –2..2]);
10) Анимация >with(plots): или >with(plots,animate):
Показывается деформация во времени кривой y = f(x, p) , x[a, b], если параметрр изменяется отc до d, принимаяN промежуточных значений. Аналогично для других типов кривых.
>animate(f(x,p),x=a..b,p=c..d,frames=N);
После выполнения этой команды щелкнуть по графику. Появится панель управления анимацией.
>animate(x^p–x^(2*p),x=0..1,p=1..20,frames=100);
Несколько деформирующихся кривых
>animate({x^(1/p),x^p},x=0..1,p=1..20,frames=50);
Параметрически заданная кривая (фигуры Лиссажу)
>animate([cos(p*t), sin(3*t), t=0..2*Pi], p=1..2, frames=60);
Кривая в полярных координатах, кривая =sin(p)
>animate([sin(p*t), t, t= –4..4], p=1..4,coords=polar,numpoints=100,frames=100);
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[animate](.........) ;
11) Векторное
поле
, >with(plots): или
>with(plots,fieldplot):
>fieldplot([P(x,y), Q(x,y)], x=a..b, y=c..d);
>fieldplot([sin(x+y), sin(x–y)], x=0..2*Pi, y=0..2*Pi);
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[fieldplot](.........) ;
12) Конформное отображение >with(plots): или >with(plots,conformal):
>conformal(f(z), z=z1..z2);
Рисуется образ прямоугольника с диагональю [z1..z2] при отображенииw=f(z).Если точкиz1..z2 лежат на одной вертикали (горизонтали), то рисуется образ отрезка.
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[conformal](.........) ;
Число вертикальных (m) и горизонтальных (n) линий, задающих сетку в исходном прямоугольнике, определяется опциейgrid=[m,n]. По умолчаниюm=n= 11.
Количество точек, вычисляемое на горизонтальных (m) и вертикальных (n) отрезках, определяется опциейnumxy=[p,q]. По умолчаниюp=q= 15.
>conformal(f(z),z=z1..z2,w1..w2);
Рисуется образ прямоугольника с диагональю [z1..z2] , обрезанный на плоскостиWпрямоугольником с диагональю [w1..w2].
13) Комплексная функция действительного переменного (кривая на плоскости Z).
>with(plots):
>complexplot((1+I*t)/(–t^2+2*I*t+2), t=0..4);
>complexplot({1/(t+I), 1/(t–I)}, t= –5..5); две кривые.
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[complexplot](.........) ;
14) Графическое решение системы линейных неравенств. with(plots):
>inequal({линейные неравенства} ,x=a..b,y=c..d,options);
В качестве опций могут быть
optionsfeasible=(color=red) – цвет области, удовлетворяющей всем неравенствам,
optionsexcluded=(color=yellow) – цвет области, не удовлетворяющей системе.
optionsopen=(color=blue,thickness=2) – граница открытой области, её цвет и толщина
optionsclosed=(color=green,thickness=3) – граница замкнутой области, её цвет и толщина.
Мжно нарисовать координатную сетку, добавив в {...} уравнения типа х=т, у=п, y=kx+b.
Можно обойтись без указания этих громоздких опций, щелкая правой мышью по области или по кривой и выбирая затем подходящие опции из появляющейся таблицы.
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[inequal](.........) ;
15) Ломаная линия по точкам (график последовательности). with(plots):
>listplot([a1,a2,a3,…,an], options); для абсцисс = 1, 2, 3, … n заданы ординаты.
Эти ординаты можно задавать формулой >a[n]:=f(n); тогда команда примет вид
>listplot([a[n]$n=1..7],linestyle=dash); пунктирная ломаная линия (в ранних версияхDASH)
>listplot([[a1,b1],[a2,b2],…,[an,bn]],options); заданы координаты узлов.
Координаты узлов можно задавать формулами
>listplot([seq([f(n),g(n)], n=3..7)]); или >listplot([seq([f(n), g(n)], n=[a,b,c,d])]);
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[listplot](.........) ;
Графика в пространстве.
1) Поверхность z = f(x,y) над прямоугольником [a,b]x[c,d].
>plot3d(f(x,y), x=a..b, y=c..d, options);
>plot3d(1–x^2*y^2,x= –1..1,y= –1..1);
Поверхность z = f(x,y) над правильной областью{a ≤ x ≤ b , y1(x) ≤ y ≤ y2(x)}
>plot3d(f(x,y), x=a..b, y=y1(x)..y2(x), options);
ОПЦИИ: grid=[m,n] – число разбиений по осям Х иY(сетка в прямоугольнике [a,b]x[c,d]). По умолчаниюm=n=25. Для неявно заданной поверхности эта опция имеет видgrid=[m,n,s] .
numpoints=n– число вычисляемых точек (по умолчаниюn=625).
gridstyle=triangularразбиение поверхности на треугольнички
title=`hyperboloid` – название поверхности (надпись на графике, можно без кавычек).
label=[x,y,z] – наименование осей координат.
view=[x1..x2,y1..y2,z1..z2] – обрезание поверхности по осям координат.
view=z1..z2 – обрезание только по осиZ.
orientation=[,]
– ориентация поверхности, углы в
градусах (см. рис).
Справки: >?plot3d, >?plot3d[options]
ОПЦИИ ГРАФИКА (вид поверхности)
style=pointповерхность из цветных крестиков
style=hiddenцветная решетка (непрозрачная)
style=patchрешетка с цветной заливкой (по умолчанию)
style=lineпрозрачная решетка
style=patchnogridтолько заливка, без решетки
style=contourповерхность из линий уровня
style=patchcontourзаливка + линии уровня
ОПЦИИ можно вызвать щелчком правой мыши по поверхности
Поворот поверхности.Производится левой мышью.
2) Несколько поверхностей на одном графике.
>plot3d({f1(x,y), f2(x,y), f3(x,y)}, x=a..b, y=c..d);
>plot3d({x^2, 1–y^2}, x= –1..1, y= –1..1);
3) Семейство поверхностей z = F(x,y,n), nN.
>plot3d({F(x,y,n)$n=2..5}, x=a..b, y=c..d);
>plot3d({y^2/n$n=1..3}, x= –1..1, y= –1..1);
4) Неявно заданная поверхность. >with(plots):
>implicitplot3d(F(x,y,z),x=a..b,y=m..n,z=p..q); поверхностьF(x,y,z)=0.
>implicitplot3d(F(x,y,z)=G(x,y,z), x=a..b, y=m..n, z=p..q); поверхность F(x,y,z)=G(x,y,z).
>implicitplot3d(x^2–y^2–z^2=1, x= –3..3, y= –3..3,z= –3..3);
5) Несколько неявно заданных поверхностей F(x,y,z)=0,G(x,y,z)=0.>with(plots):
>implicitplot3d({F(x,y,z),G(x,y,z)}, x=a..b, y=m..n, z=p..q);
>implicitplot3d({y^2+z^2=1,x^2–y^2–z^2=1}, x= –3..3, y= –3..3, z= –3..3);
Примечание. Можно обойтись без подгрузки >with(plots): , используя команду
>plots[implicitplot3d](.........) ;
6) Параметрически заданная поверхность
>plot3d([x(u,v),y(u,v),z(u,v)],u=a..b,v=c..d);
Примеры.
а) Поверхность вращения(криваяz = f(y), y[a..b], вращается вокруг осиZ).
>plot3d([u*cos(v), u*sin(v), f(u)], u=a..b, v=0..2*Pi);
> plot3d([u*cos(v), u*sin(v), 1/u], u=0.2..1, v=0..2*Pi);
Если та же кривая вращается вокруг оси Y, то команда будет иметь вид
>plot3d([f(u)*cos(v), u, f(u)*sin(v)], u=a..b, v=0..2*Pi);
б) Вертикальная цилиндрическая поверхность.
>plot3d([x(u),y(u),v],u=a..b,v=0..H);
>plot3d([u, cos(u), v], u= –Pi..Pi, v=0..1);
в) Сфера.
>plot3d([R*cos(u)*cos(v), R*sin(u)*cos(v), R*sin(v)], u=0..2*Pi, v= –Pi/2..Pi/2);
v– широта, от южного полюса до северного (от –/2 до/2),
u– долгота от оси Х к осиY.
г) ГеликоидрадиусаRс шагомh(винтовая лестница).
>plot3d([u*cos(v), u*sin(v), h*v/2/Pi], u=0..R, v=0..2*Pi);
д) Тор;a– средний радиус тора,b– радиус «колбасы».
>plot3d([(a+b*cos(v))*cos(u), (a+b*cos(v))*sin(u), b*sin(v)], u=0..2*Pi, v=0..2*Pi);
е) Лента Мёбиуса;R– радиус средней линии, 2а – ширина ленты.
>plot3d([(R+v*cos(u/2))*cos(u), (R+v*cos(u/2))*sin(u), v*sin(u/2)], u=0..2*Pi, v= –a..a);
7) Несколько параметрически заданных поверхностей.
Пересечение 2-х параболических цилиндров.
>plot3d({[u*cos(v),u*sin(v),u^2*cos(v)^2],[u*cos(v),u*sin(v),a^2-u^2*sin(v)^2]},u=0..a,v=0..2*Pi);
Пересечение двух круговых цилиндров
>plot3d({[u, cos(v), sin(v)], [cos(v), u, sin(v)]}, u= –1..1, v=0..2*Pi); или
>plot3d({[sin(v), u*sin(v), cos(v)], [u*cos(v), cos(v), sin(v)]}, u= –1..1, v=0..2*Pi);
8) Кривые в пространстве >with(plots):
>spacecurve([x(t), y(t), z(t)], t=a..b); одна кривая
>spacecurve({[x1(t), y1(t), z1(t)], [x2(t), y2(t), z2(t)]}, t=a..b); две кривых
>spacecurve([R*cos(t), R*sin(t), k*t], t=0..2*Pi); – винтовая линия.
>spacecurve([a*(1+cos(2*t)), a*sin(2*t), 2*a*sin(t)], t=0..2*Pi); кривая Вивиани – пересечение
цилиндра x2+y2=2ax и сферы x2+y2+z2=4a2 .
>spacecurve([a*cos(t), a*sin(t),a^2*cos(t)^2], t=0..2*Pi); – линия пересечения двух параболичес-
ких цилиндров.
9) Функция DISPLAY(совмещение на одном чертеже разных объектов) >with(plots):
а) Сечения куба двумя параллельными плоскостями и диагональ этого куба
>A:=plot3d(1–x–y, x=0..1, y=0..1–x):
>B:= plot3d(2–x–y, x=0..1, y=1–x..1):
>C:=spacecurve([t,t,t], t=0..1, thickness=3):
>display({A,B,C});
б) Два пересекающихся параболических цилиндра и пространственная линия их пересечения:
>F:=plot3d({x^2, 1–y^2}, x= –1..1, y= –1..1):
>G:=spacecurve([cos(t), sin(t), cos(t)^2], t=0..2*Pi, thickness=3):
>display({F,G});
в) Сфера, пересекающий её цилиндр и кривая Вивиани:
>A:=plot3d([2*cos(u)*cos(v), 2*sin(u)*cos(v), 2*sin(v)], u=0..2*Pi, v= –Pi/2..Pi/2):
>B:=plot3d([1+cos(u), sin(u), 2*v], u=0..2*Pi, v= –1..1):
>C:=spacecurve([1+cos(2*t), sin(2*t), 2*sin(t)], t=0..2*Pi, thickness=3, color=black):
>display({A,B,C});
Примечание. Можно обойтись без подгрузкиwith(plots): если для построения нескольких объектов использовать команду
>plots[display]({A,B,C});
10) Линии уровня функции z=f(x,y). >with(plots):
>contourplot(f(x,y),x=a..b,y=c..d); одна поверхностьz = f(x,y)
>contourplot({f(x,y),g(x,y)},x=a..b,y=c..d); несколько поверхностей.
По умолчанию изображаются 8 линий уровня. Их число можно изменить, добавив в команду опцию contours=n. Можно также задать линии уровня значениями функцииcontours=[z1,z2..zn].
>contourplot({x*y,x^2–y^2},x= –1..1,y= –1..1);
>contourplot([u*cos(v),u,u*sin(v)],u= –1..1,v=0..2*Pi); параметрическое задание поверхности.
11) Поверхность с п линиями уровня на ней
>plot3d(f(x,y), x=a..b, y=c..d, contours=n,style=patchcontour); вариант – contours=[z1,z2,…,zn]
12) Вид на поверхность сверху. Более высокие участки – более светлые. >with(plots):
>densityplot(f(x,y), x=a..b, y=c..d);
13) Поверхность r = f(p,z) в цилиндрических координатах(r, p, z). >with(plots):
>cylinderplot(f(p,z), p= z=a..b);
>cylinderplot(p*sin(z), p=04*Pi z=0..Pi/2);
Параметрическое задание поверхности в цилиндрических координатах
>cylinderplot([r(u,v), p(u,v), z(u,v)], u=a..b, v=c..d);
14) Поверхность в сферических координатах (r,t,p), гдеt– долгота, отсчитываемая от оси Х к осиY,p– широта, отсчитываемая от северного полюса к южному. >with(plots):
>sphereplot(F(t,p),t=a..b,p=c..d); поверхностьr=F(t,p).
>sphereplot(1.2^t*sin(p),t= –3..6,p=0..Pi); «раковина улитки»
Параметрическое задание поверхности в сферических координатах
>sphereplot([r(u,v), t(u,v), p(u,v)], u=a..b, v=c..d);
15) Анимация в пространстве. >with(plots):
>animate3d(f(x,y,p),x=a..b,y=c..d,p=A..B); динамика изменения поверхностиz=f(x,y,p) с изменением параметрар от А до В.
>animate3d((x^2–y^2)*sin(p), x= –1..1, y= –1..1, p=0..2*Pi);