程序写的真好!
我没仔细看程序,直觉告诉我
set(ball2,'XData',[-0.1,0.1,0.1,-0.1],'YData',[u(i,3)-u(i,1)+(a1-a2)/2,u(i,3)-u(i,1)+(a1-a2)/2,u(i,3)-u(i,1)+(a1+a2)/2,u(i,3)-u(i,1)+(a1+a2)/2]);
这一句的YData后面的数据出了问题,改成周期数据就对了。
后来仔细看了一下,是你后面的微分方程写错了,你再仔细看看吧。下面的物体应该是不动的,其实二阶微分方程组就可以了。
啊,你这个问题还是挺复杂的,你的问题出在没有考虑到下面的物体高度不能小于桌面这个事实。真正处理起来应该在微分方程组里加分支语句的。