Я пытаюсь реализовать жесткий бар, который тянут с одного конца, в Matlab. Начальными координатами точек являются P1 (1,0) P2 (0,0).Физика для буксируемого бара
Я использую сосредоточенную массовую модель, где вес находится на частицах. Единственными существующими усилиями являются вертикальное усилие в P1 и гравитация. Масса каждой частицы равна 0,05.
Мой код показан в следующем:
L=1; %length of the bar
Mass1=[1 0; 0 1];
Efforts1=[0; 20-9.8*0.05];
Mass2=[1 0; 0 1];
Efforts2=[0; -9.8*0.05];
acel1=Mass1\Efforts1;
acel2=Mass2\Efforts2;
dt=0.1; %time step
%variables creation
position of mass1
x1=zeros(100,1); x1(1)=L; x1(2)=L;
y1=zeros(100,1);
%position of mass2
x2=zeros(100,1);
y2=zeros(100,1);
%velocities
x1_dot=zeros(100,1); y1_dot=zeros(100,1);
x2_dot=zeros(100,1); y2_dot=zeros(100,1);
for i=2:100
%numerical integration of first mass. Accel, vel, pos
x1_dot(i)=x1_dot(i-1) + dt*acel1(1);
y1_dot(i)=y1_dot(i-1) + dt*acel1(2);
x1(i)=x1(i-1) + dt*x1_dot(i);
y1(i)=y1(i-1) + dt*y1_dot(i);
%numerical integration of first mass. Accel, vel, pos
x2_dot(i)=x2_dot(i-1) + dt*acel2(1);
y2_dot(i)=y2_dot(i-1) + dt*acel2(2);
x2(i)=x2(i-1) + dt*x2_dot(i);
y2(i)=y2(i-1) + dt*y2_dot(i);
if y2(i)<0
y2(i)=0;
end
X=[x1 x2]; Y=[y1 y2];
plot(X,Y); hold on;
pause(0.1);
end
Проблема может быть представлена в следующем виде:
Учитывая, что две массы не затухают и ведут себя как твердый бар (постоянная длина), как я могу моделировать эффект сцепления так, чтобы масса P2 правильно соответствовала P1 под действием силы тяжести?
Я исправил некоторые ошибки в заявлении и добавил изображение так, что я могу сделать сам яснее – galtor
спасибо за фигуру. Если вы хотите физику этой системы, вы должны использовать, как уже упоминалось, Закон о крючках и внутренние силы. Там вы увидите, что невозможно L = 1 через определенное время с текущими граничными условиями. Другой подход заключается в том, чтобы адаптировать смещение точек P1 и P2 после интеграции, чтобы удовлетворить требованиям L = 1. Однако этот подход не связан с физикой и может дать вам совершенно неправильные результаты, даже если L = 1 будет остаются в порядке. –