0

我想从下面的文本文件中提取灰色区域的数据,我想使用 matlab。无法计算标题中的行数,因为每次生成文本文件时都会发生变化。

它应该是这样的:

%open the file        
fin = fopen('panair.out');

buffer = fgetl(fin)    
if buffer(2:17)=='totals for column'
j=1
for i=1:3
    tmp=fgetl(fin)
end
    buffer=fgetl(fin);
    temp = strread(38:44);
    wingsection.area(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.fx(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.fy(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.fz(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.mx(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.my(j,k)= strread(temp, '%7.4f');
    temp = strread(38:44);
    wingsection.mz(j,k)= strread(temp, '%7.4f');
    j=j+1;
  else
end

%close file
fclose(fin);

或者也许 textscan 更快?

312 245 0.3625 0.4312 -0.0967 0.0862 0.1299 -0.7494 0.3114 -0.5276 0.0011 0.0011 0.0023 0.4088 0.9159 -0.9661 0.0415 0.0431 0.9091 -0.9661 0.0415 0.1949 -0.7522 -0.7608 -0.7487 0.3000 0.9848 0.0000 0.1736 -0.0431 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 -0.0050 0.5227 - 0.5276 0.0000 1.3273 0.8525 0.8218 0.0000 0.1949 -0.7522 -0.7608 -0.7487

313 246 0.2859 0.4577 -0.0762 0.0604 0.1983 -0.8678 0.4854 -0.5023 0.0008 0.0012 0.0018 0.4795 0.9985 -1.1277 0.2626 0.0302 0.9998 -1.1277 0.2626 -0.0605 -1.3393 -1.3402 -1.3003 0.3000 0.9848 0.0000 0.1736 -0.0302 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 -0.0117 0.4906 -0.5023 0.0000 1.5297 0.8714 1.0139 0.0000 -0.0605 -1.3393 -1.3402 -1.3003

314 247 0.1572 0.4842 -0.0419 0.0224 0.4594 -1.1558 1.2420 -0.3774 0.0005 0.0012 0.0010 0.8019 1.3070 -1.4401 1.1865 0.0112 1.3389 -1.4401 1.1865 -1.0491 -3.9991 -4.2495 -3.8789 0.3000 0.9848 0.0000 0.1736 -0.0112 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 0.0002 0.3776 - 0.3774 0.0000 2.2966 0.9260 1.7576 0.0000 -1.0491 -3.9991 -4.2495 -3.8789

315 247 0.0724 0.4974 -0.0192 -0.0052 0.5621 -1.6209 1.7536 -0.3154 0.0005 0.0012 0.0010 1.2086 1.4161 -1.8573 1.7344 -0.0026 1.4587 -1.8573 1.7344 -1.4755 -7.0415 -7.5368 -6.3779 0.3000 0.9848 0.0000 0.1736 0.0026 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 0.0636 0.3789 -0.3154 0.0000 2.9292 0.9254 2.4532 0.0000 -1.4755 -7.0415 -7.5368 -6.3779 1 0*b*for-mom-net#- 1 网络 1 的力/力矩数据

 totals for column      1          area           fx            fy            fz            mx            my            mz


                                 0.03774      -0.08047       0.04658       0.22649       0.09508       0.03271       0.02334
                                 0.03774       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03774      -0.08047       0.04658       0.22649       0.09508       0.03271       0.02334


 totals for column      2          area           fx            fy            fz            mx            my            mz


                                 0.03099       0.00955       0.01410       0.12176       0.05164       0.01277      -0.00630
                                 0.03099       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03099       0.00955       0.01410       0.12176       0.05164       0.01277      -0.00630


 totals for column      3          area           fx            fy            fz            mx            my            mz


                                 0.03050       0.01257       0.00796       0.06866       0.03008       0.00319      -0.00604
                                 0.03050       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03050       0.01257       0.00796       0.06866       0.03008       0.00319      -0.00604


 totals for column      4          area           fx            fy            fz            mx            my            mz


                                 0.03042       0.01116       0.00600       0.04510       0.02068      -0.00067      -0.00499
                                 0.03042       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03042       0.01116       0.00600       0.04510       0.02068      -0.00067      -0.00499

312 245 0.3625 0.4312 -0.0967 0.0862 0.1299 -0.7494 0.3114 -0.5276 0.0011 0.0011 0.0023 0.4088 0.9159 -0.9661 0.0415 0.0431 0.9091 -0.9661 0.0415 0.1949 -0.7522 -0.7608 -0.7487 0.3000 0.9848 0.0000 0.1736 -0.0431 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 -0.0050 0.5227 - 0.5276 0.0000 1.3273 0.8525 0.8218 0.0000 0.1949 -0.7522 -0.7608 -0.7487

313 246 0.2859 0.4577 -0.0762 0.0604 0.1983 -0.8678 0.4854 -0.5023 0.0008 0.0012 0.0018 0.4795 0.9985 -1.1277 0.2626 0.0302 0.9998 -1.1277 0.2626 -0.0605 -1.3393 -1.3402 -1.3003 0.3000 0.9848 0.0000 0.1736 -0.0302 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 -0.0117 0.4906 -0.5023 0.0000 1.5297 0.8714 1.0139 0.0000 -0.0605 -1.3393 -1.3402 -1.3003

314 247 0.1572 0.4842 -0.0419 0.0224 0.4594 -1.1558 1.2420 -0.3774 0.0005 0.0012 0.0010 0.8019 1.3070 -1.4401 1.1865 0.0112 1.3389 -1.4401 1.1865 -1.0491 -3.9991 -4.2495 -3.8789 0.3000 0.9848 0.0000 0.1736 -0.0112 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 0.0002 0.3776 - 0.3774 0.0000 2.2966 0.9260 1.7576 0.0000 -1.0491 -3.9991 -4.2495 -3.8789

315 247 0.0724 0.4974 -0.0192 -0.0052 0.5621 -1.6209 1.7536 -0.3154 0.0005 0.0012 0.0010 1.2086 1.4161 -1.8573 1.7344 -0.0026 1.4587 -1.8573 1.7344 -1.4755 -7.0415 -7.5368 -6.3779 0.3000 0.9848 0.0000 0.1736 0.0026 0.9848 0.0000 0.1736 0.0000 0.0000 0.0000 0.0000 0.0636 0.3789 -0.3154 0.0000 2.9292 0.9254 2.4532 0.0000 -1.4755 -7.0415 -7.5368 -6.3779 1 0*b*for-mom-net#- 1 网络 2 的力/力矩数据

 totals for column      1          area           fx            fy            fz            mx            my            mz


                                 0.03774      -0.08047       0.04658       0.22649       0.09508       0.03271       0.02334
                                 0.03774       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03774      -0.08047       0.04658       0.22649       0.09508       0.03271       0.02334


 totals for column      2          area           fx            fy            fz            mx            my            mz


                                 0.03099       0.00955       0.01410       0.12176       0.05164       0.01277      -0.00630
                                 0.03099       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03099       0.00955       0.01410       0.12176       0.05164       0.01277      -0.00630


 totals for column      3          area           fx            fy            fz            mx            my            mz


                                 0.03050       0.01257       0.00796       0.06866       0.03008       0.00319      -0.00604
                                 0.03050       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03050       0.01257       0.00796       0.06866       0.03008       0.00319      -0.00604


 totals for column      4          area           fx            fy            fz            mx            my            mz


                                 0.03042       0.01116       0.00600       0.04510       0.02068      -0.00067      -0.00499
                                 0.03042       0.00000       0.00000       0.00000       0.00000       0.00000       0.00000
                                 0.03042       0.01116       0.00600       0.04510       0.02068      -0.00067      -0.00499
4

1 回答 1

0

试试fscanf。特别:

A = fscanf(fileID, format, sizeA)sizeA将元素读入A,并将文件指针定位在读取的最后一个元素之后。sizeA可以是整数,也可以是[m,n].

于 2012-05-10T21:15:20.457 回答