1单自由度非线性体系线加速度法程序编写本程序主要应用线加速度法数值求解单自由度非线性体系的位移曲线。整个程序通过Matlab编写。1.线加速法原理1.1增量方程t时刻:时刻:其中:则可得增量方程1.2线加速度法设并消去得其中2.程序编写流程图tt)()()()(tPtftftfsDI)()()()(ttPttfttfttfsDI)()()()(tPtftftfsDI)()()()()()(tymtymttymtfttftfIII)()()(tytktfs)()()(tytctfD)()()(tPttPtP)()()()()()(tPtytktytctym32)(!3)()(!2)()()(ttyttyttyty2)(!2)()()(ttyttyty2)4()(!2)()()(ttyttyty0)()4(ty)(ty)(3)(6)()(6)(2tytyttytty)(2)(3)(3)(tyttytyttykPy~/~)](2)(3)[()](3)(6[)()(~tyttytctytytmtPtP)(3)(6)()(~2tctmttktk)()()()()()()()()(tytyttytytyttytytytty)]()()([1)()()()()()()(1111isiDiiiiiiiitftftPmtytytytytytyty输入初始数据:质量m,阻尼c,弹性阶段刚度k0,初始位移y0初始速度v0,屈服变形yq,计算时间长度Tj输入荷载,并计算已知荷载点个数输入Δt,并控制其大小,确定控制转点(A,B)23.具体应用算例通过所编写的程序,得到以下结果:y(i)∈[A,B]Yk=k0,得y(i+1),v(i+1)y(i+1)∈[A,B]转点处理,细分,得到新的y(i+1),v(i+1)YNy(i+1)Ak=0,得y(i+1),v(i+1)k=0,得y(i+1),v(i+1)v(i+1)0v(i+1)0转点处理,细分,得到新的(A,B),新的y(i+1),v(i+1)转点处理,细分,得到新的(A,B),新的y(i+1),v(i+1)YYYNNNN输出曲线3当Δt=0.1s时,ymax=0.1423,fsmax=3当Δt=0.05s时,ymax=0.1563,fsmax=3当Δt=0.025s时,ymax=0.1583,fsmax=3y-t曲线fs-t曲线4从以上图像中可以看到,当Δt越小时,所得到的结构精度越高,但可以看到当Δt=0.1s时的位移曲线与Δt=0.05s和Δt=0.025s有区别,说明所编程序存在小误差,仍需改进。