Начало работы
Глава содержит задачи, не вошедшие в учебник «Maple для студентов-физиков» [2]. Для удобства пользования сохранена преемственность в нумерации задач.
Дополнительные сведения о командах и конструкциях языка Maple, которые понадобятся для решения задач и моделирования физических процессов, приведены в главе 2 данного учебника «Правила формального синтаксиса команд Maple и примеры».
Задайте функцию и вычислите f(1, 2), f(0, a),
.
- f:=(x,y)->l-sin(x"2+y"2);
- evalf(f(1,2)); f(0,a);
- simplify(f(a"2-b"2,b"2-a"2));
Задайте векторную функцию и вычислите
.
- h:=(x,y)-Xcos(x-y),sin(x-y)>; evalf(h(l ,2)); h(Pi,-Pi);
- combine(h(cos(a"2),cos(l-a"2)),trig);
Нарисуйте действительные корни уравнения для
.
- Sol:=[solve(x"3+(a-3)"3*x"2-a"2*x+a"3=0,x)];
- for i from 1 to 3 do
- R||i:=unapply(Sol[i],a):
- print(plot(R||i(a),a=0..1,numpoints=500)); od:
Для функций и
рассчитайте составную функцию
и
.
- f:=x->x"2; h:=x->x+sin(x);
- f(h(f(x))); (f@h@f)(x); f(f(f(f(x)))); (f@@4)(x);
Правила и примеры задания кусочной функции см. в параграфе 2.1. «Кусочные функции» главы 2 «Правила формального синтаксиса команд Maple и примеры».
Задайте функцию и постройте ее график в [–5, 5].
- 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);
В механике Лагранжа голономная система с N степенями свободы описывается уравнениями Лагранжа:
где L = T – P – функция Лагранжа системы; T – кинетическая энергия; P – потенциальная энергия; qi – обобщенные координаты; Qi – обобщенные силы (не порожденные потенциалом), и
.
Считаем, что обобщенные силы, , кинетическая
и потенциальная
энергии заданы. Напишем процедуру для вывода уравнений Лагранжа. Для примера рассмотрим движение двойного маятника с массой m и длиной L в вертикальной плоскости под действием сил тяжести. Для маятника (N = 2) обобщенными координатами являются углы (обозначим А и В), обобщенные не потенциальные силы = 0.
- Eq_Lagrange:=proc(q,L,Q)
- local i,j,N,dq,d2q,Lq,Ldq,dLdq,Eq;
- N:=nops(q);
- for i from 1 to N do dq[i]:=cat(q[i],`'`);
- end do;
- for i from 1 to N do d2q[i]:=cat(q[i],`''`);
- end do;
- for i from 1 to N do<
- Lq:=diff(L,q[i]); Ldq:=diff(L,dq[i]);
- dLdq:=add(diff(Ldq,q[j])*dq[j]+diff(Ldq,dq[j])*d2q[j],j=1..N);
- Eq[i]:=dLdq-Lq-Q[i];
- end do;
- RETURN(normal(convert(Eq,list)));
- end proc;
- T:=m*x^2*`A'`^2+m*x^2*`A'`*`B'`*cos(A-B)+1/2*m*x^2*`B'`^2;
- P:=-m*g*x*cos(A)-m*g*x*(cos(A)+cos(B));
- q:=[A,B]; g:=omega^2*x; Q:=[0,0];
- Eq_L:=Eq_Lagrange(q,T-P,Q);
- Eq_L1:=factor(Eq_L);
См. параграф 2.2. «Объекты и операции с ними» главы 2 «Правила формального синтаксиса команд Maple и примеры».