Статика
всё для ргр и лр
Аксиомы, принципы проецирования, момент силы и т.д.
Равновесие системы тел под действием сил
примеры решения задач для ргр № и лр №
Основные понятия статики
справочные материалы
LAB 1
Простая стрежневая система
аналитическое решение, и реализация в MATLAB
алгоритм решения с примером (стр. 13)
видео разбор аналитического решения
пример
реализация в Matlab

плоская конструкция 6 стрежней

В результата анализа стержневой системы получены 6 уравнений равновесия (по 2 для каждого из трёх узлов) содержащий в себе 6 неизвестных усилий в стрежнях.
Реализация решения подобной задачи в MATLAB является развитием кода
Примера решения одного уравнения.

Секции 1 и 2 будут с точки зрения программирования теми же, с отличием только по количеству и названиям переменных.
  • секция 1
    Служебные команды для работы кода
    функции:
    clc % Очистка командного окна
    clear % Удаление всех элементов в рабочей области
    digits(10)

  • секция 2
    Переменные для аналитических преобразований (неизвестные) и численные значений известных переменных
    функции:
    syms Sac Sab Sbc Sbd Sce Scd
    P=23;

  • секция 3
    Численное решение уравнений
    функции:
    Fxa=Sac+P*cosd(30)+Sab*cosd(45)==0;
    Fya=Sab*sind(45)-P*sind(30)==0;

    Fxb=-Sbc-Sab*cosd(45)-Sbd*cosd(45)==0;
    Fyb=Sab*sind(45)-Sbd*cosd(45)==0;

    Fxc=-Sbc+Sce*sind(30)==0;
    Fyc=-Sac+Scd+Sce*cosd(30)==0;

    E=[Fxa,Fya,Fxb,Fyb,Fxc,Fyc];
    SolvedE=vpasolve(E,[Sac, Sab, Sbc, Sbd, Sce, Scd]);


    В секции записаны 3 системы уравнений (2-4), которые необходимо решить. Каждое уравнение присвоено советующей переменной с обозначением (ось, узел), т.е. если посмотреть на первую переменную Fxa ей присвоено уравнение проекций на ось Х из условия равновесия для узла А.

    Во второй части секции для численного решения, как и для предыдущей задачи используется функция vpasolve(eqn,var) результат которой присвоен переменной SolvedE, но так как необходимо решить уже 6 уравнений, с 6-ю неизвестными для сокращения кода все уравнения записаны в массив переменной E.

    Массивы в MATLAB – это вектора, матрицы и другие элементы. Для записи переменных в массив используются [ ], c разделителями между элементами определяющими столбцы и строки. Подробнее в документации про матрицы и массивы в MATLAB.

    В данном случае запись строки E=[Fxa,Fya,Fxb,Fyb,Fxc,Fyc]; - определяет вектор-сроку из 6 элементов (каждый из которых является уравнением) присвоенный переменной E. И решаем мы систему уравнений так же относительно 6-ти переменных которые определены вектором-строкой [Sac, Sab, Sbc, Sbd, Sce, Scd]; записанным в аргумент var для функции vapsolve.

запуск код на выполнение

В результате на этапе компиляции кода данной секции мы получим переменную SolvedE в формате struct (структура) – содержащую в себе численные значения для всех неизвестных реакций.

SolvedE = struct with fields:
Sac: -31.41858429
Sab: 16.26345597
Sbc: -23.0
Sbd: 16.26345597
Sce: -46.0
Scd: 8.418584287
продолжение кода
Проверка

плоская конструкция 6 стрежней

Для проверки правильности нахождения неизвестных реакций рассматривается равновесие конструкции в целом. Горизонтальной линией DE отсекаем ферму от основания, при этом заменяя действия стрежней реакциями, направленными вниз.

составим два уравнения равновесия проекций всех сил на оси, не забывая при этом учитывать и внешнюю силу P.
  • секция 4
    Численные значения реакций стрежней и проверка
    функции:
    Sac = double(SolvedE.Sac)
    Sab = double(SolvedE.Sab)
    Sbc = double(SolvedE.Sbc)
    Sbd = double(SolvedE.Sbd)
    Sce = double(SolvedE.Sce)
    Scd = double(SolvedE.Scd)

    Fx=Sbd*cosd(75)-Scd*cosd(60)
    Fy=-Sbd*sind(75)-Scd*sind(60)-Sce-P

    В данной секции в первой части все найденные реакции, удобнее преобразовать в формат double. Так в уравнениях проверки, где нужно просто получить численные значения отображение переменных будет корректнее. Для преобразования используется запись double(var). Где var- переменная для которой необходимо поменять формат.

    После секции 3 все найденные реакции находятся в структуре SolvedE которая предоставляет из себя матрицу из двух столбцов и шести строк. Первый столбец в нашем случае обозначает имя элемента, поэтому для обращения, к нему через точку записывается имя структуры и имя элемента.

    Например, для элемента Sac запись будет SolvedE.Sac – что в окно вывода вернет его численное значение, содержащееся в структуре SolvedE уже во втором столбце. Совмещая преобразование в формат double, каждого элемента структуры SolvedE, получаем запись строки в виде: Sac = double(SolvedE.Sac)

     Во второй части 4 секции просто записаны уравнения проверки (5), присвоенные переменным Fх и Fy, соответственно, которые в результате компиляции возвращают 0, если все уравнения были составлены верно. Если в результате вычисления значений по уравнениям проверки значения не равны нулю, необходимо искать ошибки в составленных уравнениях

    В результате выполнения 4 секции получаем:

    Fx = 0
    Fy = 0
Made on
Tilda