如何在MATLAB中消除和创建新的数据文件?

时间:2018-06-01 10:53:49

标签: matlab data-acquisition

我有包含不同事件信息的数据,每个事件有5行信息。我只想根据某些标准消除这些数据并删除该事件的所有5行,并创建没有电子数据的新数据文件。

A = xlsread('example.xls');
M = cell(1, length(4:5:size(A,1))); %Preallocate M for speed
Miso = cell(1,length(4:5:size(A,1))); %Preallocate Miso for speed
isoratio = cell(1,length(4:5:size(A,1))); %Preallocate isoratio for speed 
j = 1; q=1; v=1;
for i= 4:5:size(A,1) 
    Mrr=A(i,2)*10^A(i,1);
    Mtt=A(i,4)*10^A(i,1);
    Mpp=A(i,6)*10^A(i,1);
    Mrt=A(i,8)*10^A(i,1);
    Mrp=A(i,10)*10^A(i,1);
    Mtp=A(i,12)*10^A(i,1);
%%%build the given full moment tensor%%%
    M{j} = [Mrr Mrt Mrp; Mrt Mtt Mtp; Mrp Mtp Mpp]; 
    Miso{q}=(trace(M{j}/3)*eye(3,3));
    isoratio{v} = norm(Miso{q},'fro')/(norm(M{j},'fro'));
j = j + 1;
q = q + 1; 
if isoratio{v} > 10e-17;
       fprintf('isoratio > 10e-17 \n');
    end
   v = v + 1;
end

例如,在这种情况下,我为每个事件定义了isoratio,程序应删除有关该事件的所有5行信息,并将isoratio值大于10e-17的每个事件的5行信息写入新的xlsx或txt文件。

这段代码有什么建议吗?我在此帖子中附加了数据文件[1]。提前感谢您的兴趣。

0 个答案:

没有答案