Архив разработки (29 Кб, Maple 7)
Задача
1. Энергетическим способом интегрирования дифференцирования уравнения изгиба определить коэффициент приведения длины стойки
постоянного поперечного сечения.
2. Определить размеры поперечного сечения стойки с помощью коэффициента понижения , если Р = 200 кН, l = 3м,
материал стойки - сталь3, допускаемое напряжение на сжатие мПа.
Выражение для прогиба, угла поворота и радиуса кривизны балки.
> |
V:=a[0]+a[1]*z+a[2]*z^2+a[3]*z^3+a[4]*z^4;
`V'`=diff(V,z);`V''`=diff(V,z$2); |
Найдём систему линейных уравнений относительно a[0],a[1],a[2],a[3] c постоянными l и a[4].
> |
'V'(0)=0,subs(z=0,V)=0;
'V'(3*l/5)=0,subs(z=3*l/5,V)=0;
`V''`(0)=0,subs(z=0,diff(V,z$2))=0;
`V''`(l)=0,subs(z=l,diff(V,z$2))=0;
|
Решим эту систему.
> |
sys:=
subs(z=0,V)=0,
subs(z=3*l/5,V)=0,
subs(z=0,diff(V,z$2))=0,
subs(z=l,diff(V,z$2))=0:
solve({sys},{a[0],a[1],a[2],a[3]});
assign(%); |
Тогда выражения V, V', V'' можно переписать в виде.
> |
'V'=collect(V,a);
`V'`=collect(diff(V,z),a);
`V''`=collect(diff(V,z$2),a); |
Найдём потенциальную энергию
> |
'U'=1/2*E*J[x]*Int(expand(diff(V,z$2)^2),z=0..l);
U:=1/2*int(diff(V,z$2)^2,z=0..l)*E*J[x]; |
Найдём .
> |
'lambda'=1/2*Int(expand(diff(V,z))^2,z=0..l);
lambda:=1/2*int(diff(V,z)^2,z=0..l); |
Выразим критическую нагрузку через U и .
Найдём коэффициент приведения длины из формулы Эйлера.
> |
'F[кр]'='U'/'lambda','F[кр]'=Pi^2*E*J[x]/(l*'mu')^2;
F[кр]:=U/lambda;
'F[кр]'=Pi^2*E*J[x]/(l*'sqrt'(Pi^2/op(1,F[кр])))^2;
'mu'='sqrt'(Pi^2/op(1,F[кр]));
mu:=evalf(sqrt(Pi^2/op(1,F[кр]))); |
Таблица значений , соответсвующих вычисляемому .
Таблица значений коэффициента понижения от .
> |
#CreateSpreadsheet(piv); |
График зависимости коэффициент от (проинтерполированная таблица).
> |
plot({phi(x),SPL(x)},x=0..200,color=[red,green],labels=[l,f],labelfont=[SYMBOL,14]); |
Введём начальные условия
> |
l:=3;i[x]:='sqrt'(J[x]/A);J[x]:=a^4/12;A:=a^2;sigma[сж]:=160; |
и дополнительная сила вычисляются по формуле:
> |
'lambda'='mu'*'l'/'i[x]';
'P[доп]'='phi'('mu'*'l'/'i[x]')*'sigma[сж]'*'A'*`[Па]`; |
Подберём значение стороны квадрата такое, чтобы дополнительная нагрузка лежала в пределах нагрузки P = 200 кПа ± 5%.
> |
p1:=plot([seq([asd/1000,P[asd]],asd=10..200)],view=[0.. 0.1,0..1000],title="График зависимости Р[доп] от а",labels=['a',Рдоп]):
l1:=line([0,200],[.0723,200],linestyle=3):
l2:=line([0.0420,200],[0.0420,0],linestyle=3):
l3:=line([.0723,200],[.0723,0],linestyle=3):
plots[display]([p1,l1,l2,l3]); |
Первое значение будет равно:
> |
for a from 0.0420 to 0.0424 by 0.0001 do
'a'=a*`[м]`,'lambda'=evalf(mu*l/i[x]),'phi'=SPL(evalf(mu*l/i[x])),
'P[доп]'=SPL(evalf(mu*l/i[x]))*sigma[сж]*10^3*A*`[кН]`;od; |
Второе значение будет равно:
> |
for a from 0.072 to 0.0724 by 0.0001 do
'a'=a*`[м]`,'lambda'=evalf(mu*l/i[x]),'phi'=SPL(evalf(mu*l/i[x])),
'P[доп]'=SPL(evalf(mu*l/i[x]))*sigma[сж]*10^3*A*`[кН]`;od; |
Выбираем наименьшее a для того, чтобы расход материала на балку был наименьшим.
> |
print(`Относительная погрешность при нахождении дополнительной нагрузки составляет:`); |
> |
convert(200,symbol)/convert(201.0464576,symbol)*convert(`*100%`,symbol)=`99.48%`; |
> |
`Ответ:`;'mu'= 1.226605110,'a'= 0.0424*`[м]`; |
|