Origin数据扣背底-matlab快速操作
问题来源
因为WAXS数据通过Fit2D软件处理得到样品和背底的一维积分数据,存在origin里面,要想扣背底需要在origin内逐列操作,这是麻烦的,所以想到用matlab处理庞大的矩阵。
代码
clear
close all
n = input('ctrl+A全选表格,请输入数据原文件的行数:');
m = input('请输入数据原文件的列数-字母组合:'); % 示例:'AA'
m1 = getColumnNumber(m);
A = zeros(n, m1);%预存原数据
replay = input('-------*****将origin的原始数据全部复制到A中,操作完成后,输入任意数继续*****-------:');
B = zeros(n, m1);%预存背底数据
replay = input('-------*****将origin的背底数据全部复制到B中,操作完成后,输入任意数继续*****-------:');
x1 = A(:,1); %第一列
g = 1; %扣背底数据的倍数
Z = A - g*B;
Z(:, all(Z==0)) = []; %删除全0列
p = size(Z,2); %可以得到列数n
Z1 = [x1,Z];
save('test.mat','Z1')
%save('test.mat','Z1','Z')
figure %预览图
for j = 1:p
plot(x1,Z(:,j),'LineWidth',1.5);