Аппроксимирующую функцию для варианта В запишем в виде:
(2.2.1)
Внесем ее в дифференциальное уравнение
(2.2.2)
Умножим (2.2.2) почленно на и проинтегрируем от 0 до l
(2.2.3)
В силу ортогональности
(2.2.4)
Возьмем интегралы, входящие в нагрузочную часть. Первый интеграл:
. (2.2.5)
Второй интегралберем по частям:
=
=
=
=
I I= *(2.2.6)
Звездочка обозначает, что этот интеграл существует только при i≠1
Третий интеграл:
** (2.2.7)
Звездочка обозначает, что этот интеграл существует только при i=1
Внося (2.2.4) – (2.2.7) в (2.2.3), приходим к соотношению:
(2.2.8)
Выражение для перемещения приобретает вид:
(2.2.9)
Для усилия на основании равенства
получаем следующее соотношение:
(2.2.10)
Программа для численной реализации (2.2.9) и (2.2.10):
USES crt;
Const
q=1.0; l=1.0; EA=1.0; m=4; mn=100;
Var
i,j,k:integer;
dx, x,p2, ip2, ip2x, nn, uu,un:real;
U,N: array [1..m+1] of real;
BEGIN
clrscr;
writeln;
writeln('КоординатаПеремещениеУсилие');
dx:=l/m;
nn:=8/(pi*pi);
uu:=nn*2/(pi);
fork:=1 to m+1 do begin
x:=dx*(k-1)/l;
U[k]:=0.0;
N[k]:=0.0;
forj:=1 to mndo begin
|
|
i:=2*j-1;
ip2:=i*pi/2;
ip2x:=ip2*x;
un:=((i*pi*i*pi/(i*pi*i*pi+16)*(1-exp(2)*cos(i*pi/2)+2/ip2*exp(2)*sin(i*pi/2))+(-3*cos(i*pi/2)+12*sin(i*pi/2)/i/pi-24*(1-cos(i*pi/2))/i/pi/i/pi)))/sqr(i);
U[k]:=U[k]+un*sin(ip2x)/i;
N[k]:=N[k]+un*cos(ip2x);
end;
writeln;
writeln('x=',x:4:2,' U=',U[k]*64/pi/pi/pi:6:3,' N=',N[k]*16/pi/pi:6:3);
end;
readln;
END.
Результаты расчета при удержании 100 членов ряда представим в виде
таблицы 3 и графиков (рис. 7, 8)
Таблица 3
x | 0 | 0,25 | 0,5 | 0,75 | 1,0 |
0 (0) | 4.042 (4.042) | 7.608 (7.608) | 10.285 (10.285) | 11.389 (11.389) | |
8.385 (8.389) | 7.709 (7.709) | 6.421 (6.421) | 4.064 (4.064) | 0 (0) |
(…) – точное решение.
Рис. 7. Изменение перемещения по длине стержня (метод Бубнова-
Галеркина, 100 членов ряда)
Рис. 8. Изменение продольного усилия по длине стержня (метод Бубнова-
Галеркина, 100 членов ряда)