A=importdata('C:\Users\zhoufeng\Desktop\FinalResultData.txt'); %载入数据文本
x=A(:,1); %X轴
y=A(:,4); %探测器1的数据
z=A(:,6); %探测器2的数据
data_length=length(x); %获取数据长度
y1=medfilt1(y,99); %中值滤波处理,7为取值窗口,必须为奇数。
z1= medfilt1(z,99);
Dvalue=y1-z1; %计算两个探测器数据之间的差值
%绘出原始数据图
figure(1);
plot(x,y,'-g',x,z,'-b','LineWidth',1.5);
legend(' Detector A',' Detector B',1); %标注曲线
xlabel('Displacement','fontweight','bold'); %标注X轴
ylabel('Collected Data','fontweight','bold'); %标注Y轴
title('Original Data','fontsize',12,'fontweight','bold'); %添加标题
%绘出滤波后的探测器数据图
figure(2);
plot(x,y1,'-g',x,z1,'-b',x,Dvalue,'-r','LineWidth',1.5); %绘出滤波后的探测器数据图
legend(' Detector A',' Detector B','Difference Value',1); %标注y1是探测器A,z1是探测器B
xlabel('Displacement','fontweight','bold'); %标注X轴
ylabel('Collected Data','fontweight','bold'); %标注Y轴
title('Filtered Data','fontsize',12,'fontweight','bold'); %添加标题
line([0,data_length],[0,0],'Color','k','LineStyle','-','LineWidth',1.2); %绘出X轴
%绘出三次样条插值后的探测器A、B均值图形
x1=1:0.0001: data_length; %将x1分为0.0001间隔的点
y2=spline(x,y1,x1); %三次样条插值处理
Max_y=max(y2); %取最大值
Threshold_y=0.8*Max_y; %计算阈值
x1_ykey1=x1(find(y2>= Threshold_y,1)); %找到第一个阈值点对应的X轴坐标
x1_ykey2=x1(find(y2>= Threshold_y,1,'last')); %找到第二个阈值点对应的X轴坐标
Length=x1_ykey2-x1_ykey1; %S23
f=Length*tand(1.5); %计算焦点尺寸
figure(3);
plot(x1,y2,'-r',x1_ykey1,Threshold_y,'kd',x1_ykey2,Threshold_y,'kd','LineWidth',1.5); %绘出探测器A、B均值图形
legend(' Average of A and B',1); %标注
xlabel('Displacement','fontweight','bold'); %标注X轴
ylabel('Collected Data','fontweight','bold'); %标注Y轴
title('Average Data','fontsize',12,'fontweight','bold'); %添加标题
text(x1_ykey1-6, Threshold_y,['S_1=',num2str(x1_ykey1),'\rightarrow']); %显示阈值点
text(x1_ykey2+1, Threshold_y,['\leftarrowS_2=',num2str(x1_ykey2)]);
text(Length/2+x1_ykey1, Threshold_y,['S_2_3=',num2str(Length)]); %显示阈值点之间的距离
text(Length/2+x1_ykey1, Threshold_y-200,['f=',num2str(f)]); %显示计算后的焦点尺寸
matlab对txt文档数据处理
需积分: 26 64 浏览量
2014-06-05
21:40:20
上传
评论 3
收藏 1KB ZIP 举报
zyl1988826
- 粉丝: 0
- 资源: 1