matlab中使用fopen时出错解决办法

来源:互联网 发布:高中数学矩阵知识点 编辑:程序博客网 时间:2024/05/22 05:17

一、今天,做光纤实验的数据处理,代码如下:

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.



 

1 0