Conover文献中提到8级载荷谱的划分方法:
相应步骤:
1、通过用Ncode的进行雨流计数的方法,统计出极值,
2、求出幅值和均值,由于载荷谱时域数据是应变数据,所以参考弹性模量的参数值,转换成应力。
3、去除小载荷
4、设定分组间隔
5、求出每组数据频数
PS: 第一个函数分组用了matlab自带函数hist,这个函数用于等间隔分组没问题,用在非等间隔分组就会有问题。第二个程序给出一个八级非等间隔分组的自己编写的函数 hist_8.
function [p n N]=f_j(t,m,i) % p 为估计参数 % t为极值数据;m截断下限值;e为应力应变换算系数,一般取0.2; i为样本量 f=0.2*(t(:,1)-t(:,2));j=0.2*(t(:,1)+t(:,2))/2; f_f=find(f<m); % 需要提出数据的位置标示 f(f_f)=[];j(f_f)=[]; %截断数据 size_f=size(f) size_j=size(j) f_g=1200*f./(1200-j); N=[f,j]; %提取截断后的数据 lev=max(f_g)*[0.0625 0.2 0.35 0.5 0.65 0.7875 0.9 0.975]; f_g_hist=hist(f_g,lev) figure(2*i-1);hist(f_g,lev); %幅度直方图; saveas(gcf,int2str(2*i-1),'jpg'); figure(2*i);wblplot(f_g); %幅值wpp图 saveas(gcf,int2str(2*i),'jpg'); max_f_g=max(f_g); n=length(f); p1=wblfit(f_g); p=[p1 f_g_hist max_f_g]; for j=2*i-1:2*i; % 关闭图片 figure(j);close end end
function [N]=hist_8(x) l1=[0 0.125 0.275 0.425 0.575 0.725 0.85 0.95 1.1]; n=length(l1) for i=1:n-1 N(i)=length(x(x>max(x)*l1(i) & x<max(x)*l1(i+1))) end