Matlab批量处理
该程序的主要目的用于计算视电阻率,而且实现了对文件批量生成批量写入数据的目的。
%% 该程序用来计算回线源航空系统视电阻率定义,单点曲线
clc
clear all
close all
load halfspace.dat %相同发射参数下该时间段均匀半空间响应
t1 = halfspace(:,1);
nt = length(t1);
BZ0=halfspace(:,2);
p1=100;
BZ1 = load('fwd.dat'); %读入实测数据文件
BZ=BZ1(:,2:end);
t=BZ1(:,1);
n1=length(t);
for i=1:12
tj(:,i)=spline(BZ0,t1,BZ(:,i));
end
% tj=spline(BZ0,t1,BZ);%计算模型曲线在理论截距上对应的时间
n=length(tj);
ps=zeros(n,12);
for jj=1:12
for ii=1:1:n
ps(ii,jj)=(tj(ii,jj)./t(ii)).*p1;
end
end
%% 下面的代码用于Matlab批量生成文件以及批量读入数据
for i=1:12
filename=strcat("ps-",num2str(i*25),".dat"); %用于生成一系列文件
fid=fopen(filename,'w'); %用于打开所生成的文件
for j=1:13
x(j)=100+(j-1)*25;
for k=1:40
fprintf(fid,'%d %d %d\n',x(j),t(k),ps(k,i)); %用于写入数据,有几列就要有几个d%,\n表示换行
end
end
fclose(fid); %用于关闭文件
end