双加权最小二乘法拟合S-N曲线(Matlab)
简介
本文的数据和算法思想均来自于《结构疲劳寿命分析》第二章——金属材料的疲劳性能。我借助Matlab实现了这个算法并绘制出了S-N曲线。
算法
双加权最小二乘法的拟合步骤如下:
-
给出 S 0 S_0 S0的初始值 S 0 ^ ≤ S e \hat{S_0}\leq S_e S0^≤Se,可以取 S e S_e Se为 S 0 S_0 S0的迭代初始值。
-
计算第 i i i组的试验数据的对数寿命均值 y i ˉ \bar{y_i} yiˉ和标准差 δ i \delta_i δi。
-
计算第 i i i组试验数据的对数寿命均值置信区间长度:
d i = 2 t α / 2 ( m i − 1 ) σ i m i d_i=2t_{\alpha/2}(m_i-1)\frac{\sigma_i}{m_i} di=2tα/2(mi−1)miσi
计算各应力水平下的权重系数:
ω i = 1 d i × ∑ j = 1 n 1 d j \omega_i=\frac{1}{d_i\times\sum_{j=1}^n\frac{1}{d_j}} ωi=di×∑j=1ndj11
写出加权矩阵:
W = [ ω 1 ⋯ 0 ⋮ ⋱ ⋮ 0 ⋯ ω n ] W=\begin{bmatrix} \omega_1&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&\omega_n \end{bmatrix} W= ω1⋮0⋯⋱⋯0⋮ωn
其中 σ i \sigma_i σi为对数寿命样本标准差, t α / 2 t_{\alpha/2} tα/2为t分布百分位数, m i m_i mi是应力 S m a x i S_{maxi} Smaxi时的疲劳试验样本数。 -
计算拟合曲线参数的列向量 a = { a 1 , a 2 } T a=\{a_1,a_2\}^T a={ a1,a2}T:
a = ( G T W G ) − 1 G T W Y a=(G^TWG)^{-1}G^TWY a=(GTWG)−1GTWY
a = { a 1 , a 2 } T Y = { y 1 , y 2 , ⋯ y n } T G = [ 1 x 1 ⋮ ⋮ 1 x n ] = [ 1 l g ( S m a x 1 − S 0 ^ ) ⋮ ⋮ 1 l g ( S m a x n − S 0 ^ ) ] a=\{a_1,a_2\}^T \\ Y=\{y_1,y_2,\cdots y_n\}^T \\ G=\begin{bmatrix} 1&x_1\\ \vdots&\vdots \\ 1&x_n \end{bmatrix} =\begin{bmatrix} 1&lg(S_{max1}-\hat{S_0})\\ \vdots&\vdots \\ 1&lg(S_{maxn}-\hat{S_0}) \end{bmatrix} a={ a1,a2}

本文介绍了如何使用Matlab实现双加权最小二乘法来拟合金属材料的S-N曲线。通过该算法,作者分析了《结构疲劳寿命分析》中提供的LY11-CZ和LY12-CS疲劳试验数据,得出的疲劳极限分别为173MPa和82.6MPa。
最低0.47元/天 解锁文章
54

被折叠的 条评论
为什么被折叠?



