如图所示的串联弹簧,F=100,弹簧刚度为k1 = 50 + 500u ,k2 = 100+ 200u ,u是弹簧伸长量,则平衡方程为
k1,k2带入得
Newton–Raphson方法就是一种线性迭代方法,其算法如下:
1 设置初值tol=0.001,迭代步i=0,最大迭代数max_iter=20以及初始位移u; 2 计算不平衡力 R=f–P(u);
3 计算误差conv,如果conv<tol,则停止迭代
4 计算切线刚度矩阵KT;
5 计算位移增量Δu;
6 计算当前位移u=u+Δu;
7 迭代步数i=i+1,若i>max_iter,则停止迭代; 8 返回第二步。
MATLAB代码如下
输出结果
荷载位移曲线