wanff0 2020-03-05
close all; clc; clear; str = ‘E:\matlab\temp_data\‘; files = dir(strcat(str,‘*.txt‘)); number_files = length(files); x = zeros(number_files,4526); y = zeros(number_files,4526); N = 5; a = zeros(number_files,N+1); fun_name = blanks(number_files); for i=1:number_files str1 = sprintf(‘%s%s‘,str,files(i).name); [temp,lev] = textread(str1,‘%f,%f‘); x(i,:) = temp; y(i,:) = lev - lev(1); a(i,:) = polyfit(x(i,:),y(i,:),N) figure; plot(x(i,:),y(i,:)); freq = str2num(files(i).name(regexp(files(i).name,‘\d‘))); if (freq < 1e3) str2 = sprintf(‘%s%.1f%s‘,‘频率:‘,freq,‘Hz‘); elseif(freq <1e6) str2 = sprintf(‘%s%.4f%s‘,‘频率:‘,freq/1e3,‘kHz‘); elseif(freq < 1e9) str2 = sprintf(‘%s%.7f%s‘,‘频率:‘,freq/1e6,‘MHz‘); else str2 = sprintf(‘%s%.10f%s‘,‘频率:‘,freq/1e9,‘GHz‘); end title(str2); legend(‘温度-幅度‘); xlabel(‘温度‘); ylabel(‘幅度‘); end %%阶数判断 % for i=1:5 % y2=polyfit(x,y,i); % Y=polyval(y2,x);%计算拟合函数在x处的值。 % if sum((Y-y).^2)<0.1 % c=i % break; % end % end
读取文本函数:[temp,lev] = textread(str1,‘%f,%f‘);
扫描文件夹函数
str = ‘E:\matlab\temp_data\‘;
files = dir(strcat(str,‘*.txt‘));