Matlab批量处理

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

你可能感兴趣的:(matlab)