| 查看: 790 | 回复: 1 | ||
zhuang1017铁虫 (小有名气)
|
[求助]
matlab 编程求助 已有1人参与
|
|
各位前辈,matlab编程求助,关于碰撞振动的。 g(1)=0.02; g(2)=0.02; u=0.02; odefunhdb = @(t,y)[y(2); (-2*g(1)*y(2)-y(1)+2*u*g(2)*(y(4)-y(2))+u*(y(3)-y(1))+cos(t));... y(4); (-2*g(2)*(y(4)-y(2))-(y(3)-y(1)))];%把动力学方程中的二阶微分换成一阶 h = 0.05; t = (0:h:100)'; y = zeros(length(t),4); y(1,: )=[0,0,0,0];%参数设置与初值 for n = 1:length(t)-1 k1 = odefunhdb(t(n),y(n,: )'); k2 = odefunhdb(t(n)+h/2,y(n,: )'+h/2*k1); k3 = odefunhdb(t(n)+h/2,y(n,: )'+h/2*k2); k4 = odefunhdb(t(n)+h,y(n,: )'+h*k3); y(n+1,: ) = y(n,: )+h/6*(k1+2*k2+2*k3+k4)'; end plot(t,y(:,1)) 这是没有发生碰撞时的动力学方程编程,现需要加入一个发生碰撞的条件,当在循环过程中满足y(3)-y(1)=0.8+1e-4时,有 y(2)+=0.9765*y(2)-+0.235*y(4)- y(4)+=1.1765*y(2)--0.1765*y(4)- 其中+表示变化后的,-表示变化之前,然后用此刻的y(1),y(2)+,y(3),y(4)+作为初值继续在龙格库塔计算中循环,最后需要得到所有的y(1) |
» 猜你喜欢
求助中医院临床中医中标的青年标书学习,谢谢
已经有6人回复
浙大物院表面物理课题组长期招收普博及直博学生
已经有259人回复
物理学I论文润色/翻译怎么收费?
已经有231人回复
【征稿】Springer Nature热电专题 Discover Materials / Discover Chemistry
已经有47人回复
25届硕士申请,材料计算方向
已经有2人回复
课题组招1-2名硕士
已经有1人回复
机时越来越贵之后,我把一部分 DFT 流程搬到了 AI 计算平台上
已经有0人回复
斯坦福大学与Elsevier世界前2%学者新排名查询
已经有1人回复
27申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有19人回复
华南师范大学+双一流学科物理学+广东省杰青团队2027年博士招生+机器学习驱动材料设计
已经有1人回复
apl投稿状态
已经有0人回复
chendequan
铁虫 (小有名气)
- 应助: 152 (高中生)
- 金币: 918.6
- 红花: 17
- 帖子: 262
- 在线: 209小时
- 虫号: 994474
- 注册: 2010-04-11
- 专业: 结构工程

2楼2017-06-17 15:09:36










回复此楼