|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ГРАФИКА В 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 на оси Y ytickmarks=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([r(t),j(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), nÎN >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); Кривая в полярных координатах, кривая r = sin(pj) >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=[j,q] – ориентация поверхности, углы в градусах (см. рис). Справки: >?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), nÎN. >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 – широта, от южного полюса до северного (от –p/2 до p/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=a..b, z=a..b); >cylinderplot(p*sin(z), p=0..4*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);
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.026 сек.) |