-
大小: 259KB文件类型: .zip金币: 2下载: 1 次发布日期: 2021-07-10
- 语言: Matlab
- 标签:
资源简介
雨流计数法,众所周知是对疲劳载荷的一种分析方法,此文档为应用三点法与四点法的雨流计数法的具体matlab代码与部分测试数据(都是随机生成的数据),如果有人能想在此基础上加一个交互界面,那是很感谢,我不太熟GUI的开发,希望如果引用了我的部分代码能够贴出我的原帖网址,同时欢迎各位行业内大咖批评指正,我也不太能确定自己的代码都对。如果2018年秋季以后你看到这个,倘若你是龙凯老师的学生,带我向他问好
代码片段和文件信息
clear;clc
C=xlsread(‘load_F‘);%%%%%%%%%在此修改加载的文件名,数据格式一直才可正确运算%%%
B=C;A=C;
q=length(A);
%三点循环计数法;部分参考SAE ASTM标准
%% 步骤一 %%
%对载荷时间历程进行处理使它只包含峰谷峰谷交替出现
m=q;
for i=2:1:m-1
if A(i-1) B(i)=NaN;
elseif A(i-1)>A(i)&&A(i)>A(i+1)
B(i)=NaN;
end
end
B(isnan(B))=[];
%% 步骤二 %%
%对载荷时间历程再造,使从最大(小)值拆开,前后拼接,使从最值开始最值结束
[ab]=max(B);
n=length(B);
B1=B(b:n);
B2=B(1:b);
B=[B1;B2];
%% 步骤三 %%
%再只留波峰波谷,防止拼接处出现不合理的数据
A=B;m=length(B);
for i=2:1:m-1
if A(i-1) B(i)=NaN;
elseif A(i-1)>A(i)&&A(i)>A(i+1)
B(i)=NaN;
end
end
B(isnan(B))=[];n=length(B);
%%%%%%%%%%%%%%%%%%%%%%%% B为改造后载荷时间历程 n为B中波峰波谷的个数
%% 步骤四 %%
%雨流计数记因素 1幅值F 2均值J 开启无脑循环模式
F=[];J=[];D=B;
while length(B)>=1
n=length(B);
if n==1
break
elseif n>1
for j=1:n-2
s1=abs(B(j+1)-B(j));
s2=abs(B(j+1)-B(j+2));
e3=(B(j)+B(j+1))/2;
if s1<=s2
F=[F;s1];
J=[J;e3];
B(j)=[];
B(j)=[];
n=length(B);
break;
else
continue;
end
end
end
continue
end
%% 步骤五 %%
%画图像 三维hist三维图像
X=[JF];
figure;hist3(X[30 30]);
xlabel(‘均值‘);
title(‘雨流计数法-三点循环计数运算逻辑‘);
ylabel(‘幅值‘);
zlabel(‘循环次数‘);
%% 检验说明 %%
% load_Ftest运算与手算一致,与其他语言的计算结果幅值F,均值J一直,其他的数据也证明是可以正确运行的
%%%%存在的问题
%拼接后可能会损失拼接处数据,未知是否会对结果有偏差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 版权所有 转载请注明原出处网址%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1902 2018-03-14 16:27 cycle_counting_3.m
文件 984 2017-05-03 19:04 cycle_counting_4.m
文件 214 2017-05-03 18:15 fun.m
文件 61440 2017-04-18 19:06 load_F.xls
文件 391168 2017-04-18 19:07 load_F1.xls
文件 29184 2017-04-18 18:50 load_F2.xls
文件 29184 2017-04-18 22:34 load_Ftest.xls
文件 180379 2018-03-14 16:29 计算方法说明与数据校验.docx
- 上一篇:FFT算法Matlab程序
- 下一篇:S1743型一维PSD传感器转换电路分析
评论
共有 条评论