Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КМ - Maple

.pdf
Скачиваний:
78
Добавлен:
21.05.2015
Размер:
1.93 Mб
Скачать

2. Внешний цилиндр неподвижен:

Функция p(e) линейно убывает на отрезке [0,1], принимая на его концах значения, равные соответственно 1 и 0. Функция является монотонно убывающей с постоянным углом наклона, равным 1.

>p := e -> 1-e; plot(p(e), e=0..1);

>b := 6; a := 3;

>V := xi -> -1/4*xi^2+(b+5*a)

/(4*a*ln(b/a))*ln(xi)+5/4; plot(V(xi), xi=1..b/a);

121

Пример № 3

Заданы условия x = r 2, m1 = 1, m2 = 2, m5 = 4, c = 40, t0 = 0, y0 = 0.1, v0 = 7. Определить частоту и период малых, свободных колебаний механической системы с одной степенью свободы, пренебрегая силами сопротивления и массами нитей. Найти уравнение движения груза 1, приняв за начало отсчета положение покоя груза 1 (при статической деформации пружины). Найти также амплитуду колебаний груза 1.

Воспользуемся уравнением Лагранжа 2-го рода для консервативной системы. Приняв за обобщенную координату системы вертикальное отклонение y груза 1 от положения покоя соответствующей статической деформации пружины, имеем:

> Diff(Diff(T,Diff(y,t)),t)-Diff(T,y)=-Diff(P,y);

где Т — кинетическая энергия системы, а Р — потенциальная энергия системы. Кинетическую энергию Т вычислим с точностью до величины 2-го порядка малости относительно обобщенной координаты y .

Найдем кинетическую энергию системы равную сумме кинетических энергий тел 1, 2, 5. Поскольку нить, соединяющая тела 1 и 5, невесома, нерастяжима и не проскальзывает, а тело 5 также движется без скольжения, то, как видно из рисунка:

>restart;

v1 = Diff(y,t); omega2 = v1/r; omega5 = v1/(3*r); v5 = 2*v1/3;

>T1 := (m1*v1^2)/2;

T2 := (m2*v1^2)/4;

T5 := (m5*v1^2/3); T := T1+T2+T5;

122

Потенциальная энергия определяется работой силы тяжести и работой силы упругости пружины.

>g := 9.81: y := ’y’: P1 := -m1*g*y;

P2 := c*(f[ст]+lambda[k])^2/2-c*f[ст]^2/2; P := P1+P2;

>lambda[k] := 2*y/3:

m1 := 1: m2 := 2: m5 := 4: c := 40: sas := {diff(P, y), y=0};

>solve(sas);

>f[ст] = -.367875: diff(T, v1);

>T := 14/3*Diff(y, t):

>k := sqrt((4*c)/(9*m1+9*m2/2+6*m5)); Diff(y,t$2)+(k^2)*y=0;

y0 := 0.1; v0 := 7;

>k := 4/21*sqrt(105):

y := C1*cos(k*t)+C2*sin(k*t);

>C1 := y0: C2 := v0/k: y := y;

>a := sqrt(C1^2+C2^2): b := arctan(C1/C2): sol := 3.587826640*sin(4/21*10.25*t+0.028);

>plot(sol, t=-5..5, title="Решение");

>with(plots):

with(plottools):

>pruzh := proc(x1,x2,y,r,K) local d,l:

l := (x2-x1): d := l/K: PLOT(CURVES([[x1,y],

seq([x1+j*d,r*sin(Pi*j/2)+y],j= 0..K), [x2,y]])):

end:

123

> Колесо := proc(xk, yk, R, w::anything) ‘plottools/disk‘([xk,yk], R, color=w):

end proc:

> Опора := proc(x,y,R) local x0, x1, y0, h, N:

x0 := x-R*0.7: x1 := x+R*0.7:

y0 := y-R*0.7: h := 3*R: N := 2: display(PLOT(circle([x,y],R,color=green)),

PLOT(CURVES([[x0,y0],[x-h,y-h]], [[x1,y0],[x+h,y-h]], [[x0-h,y-h],[x1+h,y-h]], seq([[x0-h*(-j/N+1),y-h],

[x0-h*(-j/N+1)-h/4,y-h*1.3]], j=0..2*N+1)))):

end:

> Поверхность := proc(x, y, L, h) local N:N:=round(abs(L/h))-3:

display(PLOT(CURVES([[x,y],[x+L,y]],

seq([[x+L*j/N/2,y], [x+L*j/N/2-h,y-h]],

j=0..2*N)))):

end:

> Стенка := proc(x, y, L, h) local N:

N := round(abs(L/h))-3: display(PLOT(CURVES([[x,y],[x,y+L]],

seq([[x,y+L*j/N/2], [x-h,y+L*j/N/2-h]],

j=0..2*N)))):

end:

> Cir := proc(x, y, R) global CLR:

PLOT(circle([x,y], R, color=CLR)) end:

> box := proc(x, y, A, B) local X, Y:

X := x; Y := y; PLOT(POLYGONS([[X-A,Y+B],[X+A,Y+B],

[X+A,Y-B],[X-A,Y-B]], COLOR(RGB,0,1,0))):

end:

124

>CLR := BLACK:

>pdif := proc(eq, T)

local rec, i, dt, cadr, TT; cadr := T*50;

dt := T/cadr;

for i from 0 to cadr do

rec := box(16,-3-eval(eq,t=dt*i),.8,0.4); TT := ‘plots/textplot‘

([18,5,cat("t=",convert(evalf(dt*i,4),string))]);

q||i:=‘plots/display‘(

{rec,TT, Поверхность(-0.1,0.1,13,0.1), Cir(15,2.1,1), Опора(15,2.1,0.08), Стенка(0,0,5,0.1),

line([16,2.1],[16,-2.6-eval(eq,t=dt*i)]), Cir(7+eval(eq,t=dt*i),2.1,1), Cir(7+eval(eq,t=dt*i),2.1,2), line([7+eval(eq,t=dt*i),3.1],[15,3.1]), pruzh(0,7+eval(eq,t=dt*i),2.1,0.2,75), Колесо(7+eval(eq,t=dt*i),2.1,0.05,GREEN)}, scaling=constrained);

end do; ‘plots/display‘([seq(q||i,i=0..cadr)],

insequence=true, scaling=constrained, axes=none);

end proc:

> pdif(sol,5);

125

Пример № 4

Пренебрегая массой плиты и считая ее абсолютно жесткой, найти уравнение движения груза D массой m с момента соприкасания его с плитой, предполагая, что при дальнейшем движении груз от плиты не отделяется. Движение груза отнести к оси x, приняв за начало отсчета положение покоя этого груза (при статической деформации пружин). Плита лежит на двух параллельных пружинах, имеющих коэффициент жесткости c1 = 600 н/см и c2 = 400 н/см. Груз D ( m = 50 кг) падает без начальной скорости с высоты h = 0.1 м в точку F плиты, находящу-

a c2

юся на расстояниях a и b от осей пружин: b = c1.

Составим дифференциальное уравнение движения груза D в проекции на ось x :

>restart; with (plots):

de := m[D]*diff(x(t),t$2) = m[D]*g-F[упр]; F[упр] := (c[1]+c[2])*(f[st]+x(t));

de;

>st1 := m[D]*g-F[упр1]; F[упр1] := (c[1]+c[2])*f[st]; f[st] := solve(st1,f[st]);

>de := expand(simplify(de));

Решим дифференциальное уравнение с учетом начальных условий:

>sol := dsolve({de,x(0)=-f[st], D(x)(0)=v[0]}, x(t)); sol1 := sol;

>g := 9.81; m[D] := 50; c[1] := 600; c[2] := 400;

f[st] := (m[D]*g)/(c[1]+c[2]);

h := 0.1;

alpha := Pi/2; v[0] := 5;

>sol1 := evalf(sol1);

>v[0] := sqrt(2*g*h);

>sol := evalf(sol);

>g1 := plot({rhs(sol1)}, t=0..5,

thickness=2, color=black): > g2 := plot({rhs(sol)}, t=0..5,

thickness=2, color=green): > display(g1, g2);

126

>stenka := 0;

>plita := proc(x, alpha) ‘plottools/rotate‘(‘plottools/rectangle‘

([x,1], [x+2,5], color=green), alpha, [2,1]);

end proc:

>P := plita(6, alpha):

>z := plot(0, x=-5..7, thickness=2, color=black):

>z1 := plot(5, x=-5..7, thickness=3, color=magenta):

>strinl := proc(x,x1,alpha)

delt := abs(x-x1)/25;

points := plot([[x,0],[x,4],[x,3], seq([x+delt/2+delt*i,3+(-1)^i*0.5],

i=0..24), [x+delt*25,3]], thickness=2, color=black, scaling=constrained);

points := ‘plottools/rotate‘(points, alpha, [0,0]); end proc:

> strinp := proc(x, x1, alpha) local str, delt, points; delt := abs(x-x1)/11;

points := plot([[x,0], [x,4], [x,-5], seq([x+delt/2+delt*i,-5+(-1)^i*0.5],

i=0..10), [x+delt*11,-5]], thickness=2, color=black, scaling=constrained);

points:=‘plottools/rotate‘(points, alpha, [0,0]); end proc:

>pruzinal := strinl(0, 5, alpha):

>pruzinap := strinp(0, 5, alpha):

>display(z, z1, P, pruzinal, pruzinap, scaling=constrained);

127

> pdif := proc(eq, alpha, T)

local r, r1, r2, p1, p2, i, dt, cadr, TT, ps, pb; cadr := T*50;

ps := ‘plottools/rotate‘ (plot([[0,-7], [0,8]],

thickness=2, color=black), alpha, [1,1]);

pb:=‘plottools/rotate‘

(plot([[5,-7]], thickness=1, color=black), alpha,[1,1]);

dt := T/cadr;

for i from 0 to cadr do

TT := ‘plots/textplot‘([7, 7,

cat("t= ", convert(evalf(dt*i,4), string))]); r := plita(6+eval(eq, t=dt*i), alpha);

r2 := plot(5+eval(eq, t=dt*i), x=-5..7, thickness=3, color=magenta);

p1 := strinl(0, eval(5+eq, t=dt*i), alpha);

p2 := strinp(0, eval(5+eq, t=dt*i), alpha); q||i := ‘plots/display‘({r,r2,pb,ps,TT,p2,p1},

scaling=constrained);

end do; ‘plots/display‘([seq(q||i,i=0..cadr)],

insequence=true, scaling=constrained, axes=NONE);

end proc:

128

> pdif(rhs(sol), alpha, 4);

> g_1 := plot(rhs(sol), t=0..5, thickness=2, color=magenta, title="c[1]+c[2]=1000"):

>plots[display](g_1, g_2);

>plots[display](g_2);

>c[1]+c[2] := 2:

gr1 := plot(rhs(sol), t=0..5, thickness=2,

color=red, title="c=2"):

sol := dsolve({de, x(0)=-f[st], D(x)(0)=0}, x(t)); > gr2 := plot(rhs(sol), t=0..5, thickness=2,

color=black, title="c=2"): plots[display](gr1, gr2);

129

Ресурсы в Web

http://www.maplesoft.com/ — сайт разработчика

http://www.mapleapps.com/ — коллекция приложений

http://www.maple4students.com/ — центр поддержки для студентов

http://www.exponenta.ru/soft/Maple/Maple.asp — страница на популярном российском образовательном математическом портале, посвященная Maple

http://www.dxdy.ru/ — научный форум

http://www.studrus.ru/ — ресурс о математике и физике

130