Руководство к решению задач по механике твердого деформируемого тела матричными методами. Бундаев В.В. - 24 стр.

UptoLike

Составители: 

47
begin{9}
writeln('определитель системы равен нулю');
l:=1;
i:=n+1
end{9}
end;{2}
if l=1 then writeln;
(* обратный ход метода Гаусса *)
for i:=n-1 downto 1 do
for j:=i+1 to n do
x[i]:=x[i]-a1[i,j]*x[j];
writeln('Решение СЛАУ');
for i:=1 to n do
writeln('x[',i,']=',x[i]:5:2);
readln;
end;{1}
BEGIN {начало основной программы}
clrscr;
sc:=ksc; c:=kc; p:=kp; n:=kn;
(* обнуление матрицы проекций pr *)
for i:=1 to nel do
for j:=1 to 2 do pr[i,j]:=0.0;
(* транспонирование матрицы sc *)
for i:=1 to nuz do
for j:=1 to nel do st[j,i]:=sc[i,j];
(* определение вектора проекций pr *)
for i:=1 to nel do
for j:=1 to nuz do
begin
if st[i,j]<>0 then
begin
pr[i,1]:=pr[i,1]-st[i,j]*c[j,1];
pr[i,2]:=pr[i,2]-st[i,j]*c[j,2]
end;
end;
48
(* вывод значений вектора проекций pr *)
writeln('Значения вектора проекций pr:');
for i:=1 to nel do
begin
write(i:2,')');
for j:=1 to 2 do write(pr[i,j]:5:1);
writeln;
end;
writeln; readln;
(* вычисление длин стержней *)
for i:=1 to nel do
dl[i]:=sqrt(sqr(pr[i,1])+sqr(pr[i,2]));
(* вывод значений длин стержней *)
writeln('Значения длин стержней dl:');
for i:=1 to nel do write('dl(',i:1,')=',dl[i]:1:1,' ');
writeln; readln;
(* определение вектора направляющих косинусов *)
for i:=1 to nel do
for j:=1 to 2 do ALFA[i,j]:=pr[i,j]/dl[i];
(* вывод значений направляющих косинусов *)
writeln('Значения направляющих косинусов ALFA:');
for i:=1 to nel do
begin
write(i:2,')');
for j:=1 to 2 do write(ALFA[i,j]:5:1);
writeln;
end;
writeln; readln;
(* обнуление матрицы sz* *)
for i:=1 to nuz2 do
for j:=1 to nel do sz[i,j]:=0.0;
for j:=1 to nel do
for i:=1 to nuz do
begin
if sc[i,j]=1 then begin sz[2*i-1,j]:=ALFA[j,1];
sz[2*i,j]:=ALFA[j,2]
                                    47                                                                  48

                   begin{9}                                           (* вывод значений вектора проекций pr *)
                 writeln('определитель системы равен нулю');                   writeln('Значения вектора проекций pr:');
                          l:=1;                                                for i:=1 to nel do
                          i:=n+1                                                begin
                    end{9}                                                              write(i:2,')');
                          end;{2}                                                       for j:=1 to 2 do write(pr[i,j]:5:1);
         if l=1 then writeln;                                                           writeln;
(* обратный ход метода Гаусса *)                                                end;
        for i:=n-1 downto 1 do                                                  writeln; readln;
          for j:=i+1 to n do                                          (* вычисление длин стержней *)
                    x[i]:=x[i]-a1[i,j]*x[j];                                   for i:=1 to nel do
                    writeln('Решение СЛАУ');                                    dl[i]:=sqrt(sqr(pr[i,1])+sqr(pr[i,2]));
                  for i:=1 to n do                                    (* вывод значений длин стержней *)
                           writeln('x[',i,']=',x[i]:5:2);             writeln('Значения длин стержней dl:');
readln;                                                                        for i:=1 to nel do write('dl(',i:1,')=',dl[i]:1:1,' ');
end;{1}                                                                         writeln; readln;
                                                                      (* определение вектора направляющих косинусов *)
BEGIN {начало основной программы}                                              for i:=1 to nel do
clrscr;                                                              for j:=1 to 2 do ALFA[i,j]:=pr[i,j]/dl[i];
sc:=ksc; c:=kc; p:=kp; n:=kn;                                         (* вывод значений направляющих косинусов *)
(* обнуление матрицы проекций pr *)                                   writeln('Значения направляющих косинусов ALFA:');
        for i:=1 to nel do                                                     for i:=1 to nel do
         for j:=1 to 2 do pr[i,j]:=0.0;                                         begin
(* транспонирование матрицы sc *)                                                       write(i:2,')');
        for i:=1 to nuz do                                                              for j:=1 to 2 do write(ALFA[i,j]:5:1);
         for j:=1 to nel do st[j,i]:=sc[i,j];                                           writeln;
(* определение вектора проекций pr *)                                           end;
        for i:=1 to nel do                                                      writeln; readln;
        for j:=1 to nuz do                                            (* обнуление матрицы sz* *)
         begin                                                                 for i:=1 to nuz2 do
                 if st[i,j]<>0 then                                             for j:=1 to nel do sz[i,j]:=0.0;
                           begin                                               for j:=1 to nel do
                                  pr[i,1]:=pr[i,1]-st[i,j]*c[j,1];             for i:=1 to nuz do
                                  pr[i,2]:=pr[i,2]-st[i,j]*c[j,2]               begin
                           end;                                                         if sc[i,j]=1 then begin sz[2*i-1,j]:=ALFA[j,1];
         end;                                                                 sz[2*i,j]:=ALFA[j,2]