Задачи

 

Версия для печати

1.2. Графика

Задача 2.25. Задайте и нарисуйте кусочную функцию

Задайте и нарисуйте кусочную функцию в [–3,3].

  • g:=x->piecewise(x>=-l and x<=0,l+x,x>=0 and x<=l,l-x,0);
  • plot(g(x),x=-3..3,thickness=3,color=blue); g:=proc(x)
  • if x>=-l and x<=0 then 1+x elif x>=0 and x<=l then 1-x else 0
  • end if:
  • end proc;
  • plot(g,-3..3,thickness=3,color=blue);
Задача 2.26. Нарисуйте периодическое расширение функции

Нарисуйте периодическое расширение функции в [0,20].

  • f:=proc(x)
  • if x>=0 and x=l and x<2 then 1
  • elif x>=2 and x<3 then 3-x end if:
  • end proc:
  • g:=proc(x) local a,b; a:=trunc(x) mod 3; b:=frac(x);f(a+b);
  • endproc:
  • plot(f,0..3,thickness=3,color=blue);
  • plot(g,0..20,thickness=3,color=blue);

Задача 2.27. Нарисуйте график последовательности чисел

Последовательность , , задана так: , где a – параметр. Найдите список (list) координат таких, что a = 3, x0 = 0.1, N = 100. Нарисуйте график последовательности .

  • a:=3; x[0]:=0.1; N:=100;
  • for i from 1 to N do x[i]:=a*x[i-1]*(l-x[i-1]):
  • od:
  • Seql:=seq([i,x[i]],i=2..N):
  • plot([Seql],style=point,symbol=circle,symbolsize=25);

Задача 2.28. Проследите за поведением функции

Проследите за поведением функции.

  • with(plots):
  • y:=x->cos(6*(x-a*sin(x))); G:=NULL; N:=20;
  • for i from 0 to N do a:=l/2+i/N;
  • G:=G,plot(y(x),x=-Pi..Pi);
  • od:
  • G:=[G]:
  • display(G,insequence=true);

Задача 2.29. Нарисуйте функции с линиями сетки

Заданы функции и . Нарисуйте их с линиями сетки.

  • with(plots): A:=4:
  • f:=x->sin(l/x)*x;
  • plot(f(x),x=-Pi/2..Pi/2,
  • color=blue,thickness=3,gridlines=true):
  • Gl:=plot(f(x),
  • x=-Pi/2..Pi/2,color=blue,thickness=3):
  • Ml:=conformal(
  • z,z=-A- I..A+I,grid=[20,10],color=grey):
  • with(plots): A:=4:
  • display([Gl,M1]);
  • g:=x->(x"2-x+l)/(x"2+x-l);
  • R:=-5..5;
  • G2:=plot(g(x),x=R,R,discont=true,thickness=3):
  • M2:=
  • coordplot(cartesian,[R,R],view=[R,R],grid=[10,10],
  • color=[grey,grey]): display([G2,M2],axes=boxed,
  • scaling=constrained,xtickmarks=5,ytickmarks=5);

Задача 2.30. Нарисуйте ограниченную область

Задана функция . Нарисуйте область, ограниченную этой функцией и осью x = 0.

  • with(plots): A:=4:
  • f1:=plot([f(x),0],x=-4.5..4.5,-2..10,thickness=3):
  • f2:=plot(f(x),x=S[1]..S[2],filled=true,color=grey):
  • display([f1,f2]);
Правила задания ограниченных областей см. в параграфе 2.5. «Ограниченные области в 2D» главы 2 «Правила формального синтаксиса команд Maple и примеры».

Задача 2.31. Нарисуйте область, удовлетворяющую неравенству

Нарисуйте область, удовлетворяющую неравенству .

  • with(plots): Ineq:=x->2*x-2*y>1;
  • A:=(color=blue); B:=(color=grey);
  • C:=(color=green,thickness=10);
  • inequal(Ineq(x),x=-2..2, y=-2..2,
  • optionsfeasible=A,optionsexcluded=B,optionsopen=C);
Правила задания ограниченных областей см. в параграфе 2.5. «Ограниченные области в 2D» главы 2 «Правила формального синтаксиса команд Maple и примеры».

Задача 2.32. Сделайте цветной градиентный график

Для функции , сделайте цветной градиентный график плотности с соответствующей надписью (легендой).

  • with(plots):
  • A:=colorstyle=HUE,style=patchnogrid,numpoints=5000,axes=boxboxed;
  • Gl:=densityplot((x,y)->x*exp(-x"2-y"2),-2..2,-2..2,A):
  • G2:=densityplot((x,y)->0.2*y,3..3.5,-2..2,A):
  • G3:=textplot([seq([3.8,-1.95+i/8*3. 9,
  • sprintf("7o- If",-0.4+i/10)],i=0..8)]) :
  • display({Gl,G2,G3},scaling=constrained);

Задача 2.33. Сравните разные столбчатые графики (гистограммы)

Сравните разные столбчатые графики (гистограммы).

  • with(stats): with(stats[statplots]):
  • list1:=[random[normald](200)]:
  • histogram(list1);
  • histogram(list1,area=count);
  • histogram(list1,color=blue);
  • with(Statistics):
  • NX:=RandomVariable(Normal(0,1));
  • G1:=DensityPlot(NX,range= 3..3,thickness=3,color=red):
  • list1:=Sample(Normal(0,1),1500);
  • G2:=Histogram(list1,range=-3..3,color=blue):
  • plots[display]({G1,G2});
  • list2:=[i^2 $ i=1..5]; PieChart(list2,sector=0..360,
  • color=[blue,red,green,yellow,white]); BarChart(list2);
  • ColumnGraph(list2); LineChart(list2);
Команды для задания столбчатых графиков (гистограмм) в 2D и 3D см. в параграфе 2.6. «Столбчатые графики (гистограммы) в 2D и 3D» главы 2 «Правила формального синтаксиса команд Maple и примеры».

Задача 2.34. Проанализируйте решение волнового уравнения

Покажите, что решения волнового уравнения вида , есть проходящие волны.

  • with(plots): N:=200; A:=array(1..2): u1:=(x,t)->cos(x-2*t);
  • list1:=[random[normald](200)]:
  • u2:=(x,t)->cos(x+2*t);
  • setoptions(thickness=3,scaling=constrained,axes=none);
  • A[1]:=animate(u1(x,t),x=0..4*Pi,t=1..10,frames=N):
  • A[2]:=animate(u2(x,t),x=Pi/2..9*Pi/2,t=1..10,
  • color=green,frames=N):
  • display(A);

Задача 2.35. Фигуры Лиссажу в полярных координатах

  • with(plots):
  • animatecurve([sin(7*x),cos(11*x),x=0..2*Pi],
  • coords=polar,numpoints=300,frames=300,color=blue,thickness=3);

Задача 2.36. 2D-анимация двух последовательностей точек

  • with(plots): n:=100: G:=[]:
  • L1:=[seq([cos(j*Pi/n),sin(j*Pi/n)],j=0..n)]: L2:=[seq([-
  • cos(j*Pi/n),-sin(j*Pi/n)],j=0..n)]: for i from 1 to n do
  • G:=[op(G),plot([L1[1..i],L2[1..i]], x=-1..1,y=-1..1,
  • symbol=circle,style=point,color=[blue,red])]: od:
  • display(G,insequence=true);

Задача 2.37. 3D-анимация для двух точек

  • with(plots): n:=250: G:=[]: k:=20:
  • L1:=[seq([cos(k*j*Pi/n),j,sin(k*j*Pi/n)],j=0..n)]:
  • L2:=[seq([-cos(k*j*Pi/n),-j,-sin(k*j*Pi/n)],j=0..n)]:
  • for i from 1 to n do
  • G:=[op(G),spacecurve({L1[1..i],L2[1..i]},
  • style=line, axes=none,thickness=3,shading=zhue)]: od:
  • display3d(G,insequence=true);

Задача 2.38. 3D-анимация для двух структур

  • with(plots): n:=40: G:=NULL:
  • f1:=(x,y)->(x^2-y^2)/9-9: f2:=(x,y)->(x^2-y^2)/9:
  • G1:=plot3d(f1(x,y),x=-9..9,
  • y=-9..9,style=patchnogrid): G2:=plot3d(f2(x,y),
  • x=-9..9,y=-9..9,style=patchnogrid):
  • for i from 1 to n do
  • G:=G,display3d([G1,G2],orientation=[i*180/n,50]): od:
  • display3d([G],scaling=constrained,insequence=true);

Задача 2.39. Движение частицы, вращающейся по кривой

  • with(plots):
  • G:=plot(cos(x),
  • x=-Pi..Pi,axes=boxed,thickness=2,color=blue):
  • animate(pointplot,[[[t,cos(t)]],symbol=circle,
  • symbolsize=20, color=red],
  • t=-Pi..Pi,frames=100,background=G);

Задача 2.40. Нарисуйте диаграмму стабильности

Нарисуйте диаграмму стабильности дифференциального уравнения (ДУ) Матье в плоскости (a, q).

  • with(plots):
  • S1:=[MathieuA(i,q) $ i=0..5];
  • S2:=[MathieuB(i,q) $ i=1..6];
  • G1:=plot(S1,q=0..35,-20..45,color=red):
  • G2:=plot(S2,q=0..35,-20..45,color=blue):
  • display({G1,G2},thickness=3);
См. параграф 2.7. «Объединение нескольких (предварительно сохраненных) графических объектов, массив графиков» главы 2 «Правила формального синтаксиса команд Maple и примеры».