P45.mws

Программа 45. Задачи 61, 62.

>    restart:

>    read "C:\\Podpr1.m":     

>    read "C:\\epura.m";      #RisRama,PrintRez,RQ,EpuraM

>    read "C:\\Risepura.m";   #Risepur

>    fd := fopen("C:/M13/P61.txt",READ):# Открываем файл (p61.txt, p62.txt)

  Ввод данных
Длины участков

>    a:=[parse(readline(fd))]:

>    n:=nops(a)+1:# Число узлов

>    P1:=Vector(n):

>    P2:=[-parse(readline(fd))]:# Нагрузки в узлах

>    P3:=[parse(readline(fd))]: # Моменты в узлах

>    m:=n-1:                    # Число стержней

>    s1:=parse(readline(fd));   # Номера стержней с шарнирами в конце

>    Nopor:=parse(readline(fd));# Опоры

>    nops([Nopor]);             # Число опор

>    Qx:=Vector(m):

>    Qy:=[-parse(readline(fd))];# Нагрузки распределенная

>    fclose(fd):                # Закрываем файл

s1 := NULL

Nopor := 1, 4

2

Qy := [-4, 0, 0]

  Координаты узлов

>    x[1]:=0:for i to n-1 do x[i+1]:=x[i]+a[i];od:

>    y:=Vector(n):

>    Vns:=[seq([s1[i],2,3],i=1..nops([s1]))]:

>    ks:=nops(Vns):           # Число внутренних шарниров

>    Vns1:=Vector(n):         # Вектор значений внутренних моментов в шарнирах Vns(=0)

 Опоры: [Узел, направление (1-X,2-Y,3-M)]

>    OPOR:=[[Nopor[1],1],seq([Nopor[i],2],i=1..nops([Nopor]))];

>    ko:=nops(OPOR):          # Число опор

>    printf("Число  неизвестных  %d + %d, уравнений %d + %d + %d",ko,6*m,ks,3*m,3*n);

  Решение

>    for i to n do str[i,1]:=i;str[i,2]:=i+1;od:

>    Lxy():

>    RisRama():

>    EpuraM(P1,P2,P3):#Моменты

>    Реакции=seq(Ro[i],i=1..ko);

OPOR := [[1, 1], [1, 2], [4, 2]]

Число  неизвестных  3 + 18, уравнений 0 + 9 + 12

`Реакции` = (0, 9, 2)

>    RQ(Rx,Ry):       #Поперечная (перерезывающая) сила

>    PrintRez(Q1,"Qp");

 N    Qp(1)     Qp(2) 

1    9.00   -7.00  

2   -2.00   -2.00  

3   -2.00   -2.00  

>    QP:=-Matrix(m,2,Q1):

>    RisEpur(QP,'QP',0);

[Maple Plot]

>     MP:=Matrix(m,2,Rm):

>     RisEpur(MP,'MP',1);

[Maple Plot]

>     PrintRez(Rm,"Mp");

 N    Mp(1)     Mp(2) 

1    0.00    4.00  

2   -4.00    0.00  

3   -8.00    0.00