私は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
問題は、次の図に表すことができる。
2つの塊が固体バー(定数と減衰と動作しないれていることを考えると長さ)では、重力の下でP2質量が正しくP1に追従するように、カップリング効果をどのようにモデル化できますか?
私は声明で、いくつかのミスを修正し、私は自分自身 – galtor
明確に数字をありがとうございまし作ることができるように画像を追加しました。あなたがこのシステムの物理学を望むなら、前述したように、フックの法則と内部力を使うべきです。そこでは、現在の境界条件である一定の時間の後にL = 1にすることは不可能であることがわかります。 異なるアプローチは、L = 1の要件を満たすために、積分後の点P1とP2の変位を適応させることです。しかし、このアプローチは物理学に関連せず、L = 1であっても完全に間違った結果を与える場合がありますOKのまま。 –