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)
问题
- 如何用他们的名字调用某个文件
- 如何使用此文件列进行计算
这是我的代码
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
代码的问题
当我将 ad(2) 放入数组时,我调用 4.txt 而不是 2.txt。我想它不关心文本的名称只是根据它们的顺序阅读它们
有什么方法可以像 var1,var2 这样分配每一列并做一些
使用 var1+var2 而不是 d.A+d.I
的计算
是的,您可以像这样用大括号引用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是相等的
我有文件名继续 2.txt 4.txt 8.txt 12.txt 14.txt。每个文件结构看起来像
我想读取每个指定的文件并用指定的列做一些计算,例如调用 2.txt 文件后我想计算 列(A)+列(I)
问题
- 如何用他们的名字调用某个文件
- 如何使用此文件列进行计算
这是我的代码
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
代码的问题
当我将 ad(2) 放入数组时,我调用 4.txt 而不是 2.txt。我想它不关心文本的名称只是根据它们的顺序阅读它们
有什么方法可以像 var1,var2 这样分配每一列并做一些 使用 var1+var2 而不是 d.A+d.I
的计算
是的,您可以像这样用大括号引用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是相等的