arrays - 使用 dlmread 读取许多(1000+)文件 - 循环使用不同的文件名?

标签 arrays matlab matrix vector vtk

我对 matlab 或相关编码非常陌生。

我正在运行一个输出数千个文件的模拟。这些文件是 .vtk,并且可以被 dlmread 正确读取。

我尝试读取其中一个,将其定义为矩阵并从该矩阵中提取列向量。这很好用。我现在需要的不仅仅是读其中一本,而是全部。文件名因数字而异,例如 cover1000.vtk、cover2000.vtk、....、cover1200000.vtk。

我希望用 dlmread 读取它们并将其存储为不同的矩阵。我怎么做?这是我现在所拥有的,一次处理一个文件:

A_1000 = dlmread ('cover1000.vtk') %matrix a containing values from vtk file_in_loadpath

fx_1000 = A(1:20,1) %extracting vector with specific values

fx_ave_1000 = sum(fx_1000)/length(fx_1000) % average of the values in extracted vector

我正在考虑一个循环,但如何创建具有不同文件名的循环? 我还读到循环不是最好的主意,单元格数组会更好。但我完全不知道如何实现这些。

感谢您的帮助!
干杯

最佳答案

您可以使用函数dir列出目录中的所有vtk文件,然后循环遍历这些文件。

filename = dir('*.vtk'); %list all the vtk files in your current directory.

for ii = 1:length(filename)
A = dlmread (filename(ii).name) %matrix a containing values from vtk file_in_loadpath
fx{ii} = A(1:20,1) %extracting vector with specific value
fx_ave{ii} = sum(fx{ii})/length(fx{ii}) % average of the values in extracted vector
end

结果现在存储在两个单元格中:fxfx_ave

关于arrays - 使用 dlmread 读取许多(1000+)文件 - 循环使用不同的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40801269/

相关文章:

arrays - 向外行人解释数组的好处?

matlab - 将完整矩阵转换为完整矩阵很慢?

python - 如何将带有网格网格和数组的 Matlab 代码转换为 Python 代码?

css - 从 matrix3d 获取 css 变换 3D

c - C 中的矩阵乘法问题

python - 从字典中调用函数

python - 如何从 {index : value}? 格式的列表创建字典

python - 面向 Python 程序员的 MATLAB

r - 对不同维度的矩阵进行子集化

javascript - 将数组对象字段数据添加到 JavaScript 中的单个对象中