Matlab:读取某个文件并对列进行计算

Matlab: Read a certain file and make a calculation on columns

我有文件名继续 2.txt 4.txt 8.txt 12.txt 14.txt。每个文件结构看起来像

我想读取每个指定的文件并用指定的列做一些计算,例如调用 2.txt 文件后我想计算 列(A)+列(I)

问题

  1. 如何用他们的名字调用某个文件
  2. 如何使用此文件列进行计算

这是我的代码

function[t]=ad(x)
    folderName='C:\Users\zeldagrey6\Desktop\AD';
    fileinfo=dir([folderName filesep '**/*.txt'] );
    filename={fileinfo.name};
    fullFileName=[folderName filesep filename{x}];
    d=readtable(fullFileName, 'ReadVariableNames', true);
    t=d.A+d.I;
end

代码的问题

  1. 当我将 ad(2) 放入数组时,我调用 4.txt 而不是 2.txt。我想它不关心文本的名称只是根据它们的顺序阅读它们

  2. 有什么方法可以像 var1,var2 这样分配每一列并做一些 使用 var1+var2 而不是 d.A+d.I

  3. 的计算

是的,您可以像这样用大括号引用table内容:

A = (30.1:0.1:30.5)';
I = (324:328)';
Angle = (35:5:55)';
FWHM = (0.2:0.05:0.4)';
d = table(A,I,Angle,FWHM);
t1 = d.A + d.I;
t2 = d{:,1} + d{:,2};

看到t1和t2是相等的