一、今天,做光纤实验的数据处理,代码如下:
clear all;
clc
files=dir('C:\Users\Administrator\Documents\MATLAB\应力\*.txt');
steps=2;
for steps_n=1:1:steps
%读取光谱数据
fid=fopen(files(steps_n).name);
[C]=textscan(fid,'%n%n%n%n%n','headerlines',58);
fclose(fid);
%Findpeaks函数寻峰法
xi=1510:0.001:1590;
yi=interp1(C{1},C{2},xi,'linear');
y=smooth(yi,200,'lowess');
plot(C{1},C{2});
xlabel('波长(nm)')
ylabel('光强')
[pks,locs]=findpeaks(y,'minpeakheight',-20);
for i=1:1:7
wave(i)=xi(1,locs(i,1));
end
WAVE(:,steps_n)=wave;
end
for i=1:1:7
fprintf('第%d个峰 中心波长前:%f nm ',i,WAVE(i,1));
fprintf('第%d个峰 中心波长后:%f nm \n',i,WAVE(i,2));
end
二、出现错误:
??? Error using ==> textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in ==> strain_sensing at 8
[C]=textscan(fid,'%n%n%n%n%n','headerlines',58);
三、原因:文件所在路径 没有添加到matlab 的搜索路径;
四、解决办法:
Step1:在current Folder中输入文件所在路径(的上一级文件夹)。于是出现了文件所在文件夹(如图为‘应力’);
Step2:右击文件夹‘应力’,选择add to path -> selected Folders.