A / b Matlab可以使INV A * b更慢且更不准确

时间:2014-04-27 12:16:16

标签: matlab matrix

我正在处理两个框的碰撞检测,并将速度 mass 影响一起转移,以便制作方案之后碰撞效果。我目前正在使用INV()进行矩阵求逆,但 Matlab 会发出警告,指出这可能会变慢,并使用A / b代替INV A*b,但它没有#39} ; t显示正确的结果,对于我的情景有什么建议,因为我只对碰撞影响第二个框的感兴趣,第二个框最初为速度

我的代码:

for time=0:dt:tf
    i=i+1;
    %check for collision
    if abs(xB2-xB1)<=3 && collision_count==0
        collision_count=collision_count+1;
        VB_after_collision=inv(-[mB1 mB2;1 -1])*(0.9*(VB2-VB1));
        VB2=VB_after_collision(1);

    else


            if abs(VB2)>0.005*mB2*9.81*dt %necessary condition for the box to keep moving against fricition
                VB2=VB2-0.005*mB2*9.81*dt*sign(VB2);
            else
                VB2=0;
            end
    end
        xB1=xB1+VB1*dt;
        xB2=xB2+VB2*dt;

boxes(xB1,xB2);

end

我目前正在使用VB_after_collision(1),但我想在我的方案中只使用此功能。

0 个答案:

没有答案