我有163个文本文件。我需要分别取前两列并平均它们。然后我需要为所有文件重复此操作。
这就是文件的样子:
-5.0814,-3.8986,28.66,-39.8
-5.1558,-3.8614,30.42,-40.44
-5.1602,-4.0198,32.98,-39.16
-5.0674,-3.9762,27.02,-38.6
-5.1074,-3.9094,31.62,-37.24
-5.0822,-4.0018,28.78,-40.68
-4.9494,-3.8082,31.02,-37.08
-4.9782,-3.7758,31.74,-39.64
-5.0362,-3.9478,30.9,-37.08
-5.2798,-4.0558,29.34,-39.64
模式:000-int.txt,001-int.txt,002-int.txt,...,163-int.txt。编号方面存在差距。我有多个这些文件的副本保存在不同的目录中。
ATTEMPT:我尝试过使用fopen / textscan / flclose,甚至是dlmread等等。我根本无法得到任何工作。我无法弄清楚如何读取一个文件,更不用说创建一个平均值或以某种形式的循环重复该过程。 我的教授希望我帮他做一些数据分析。
提前谢谢!
答案 0 :(得分:2)
Stack Overflow是一个询问编程问题的网站。仅仅要求我们为您编写代码是不合适的。
因此,请向我们展示您尝试过的代码,我们可以帮助您解决问题。
此外,您可能想要从MATLAB文件交换中查看Textscantool。它提供了一个用于导入格式化文本文件的GUI,并且可以生成能够对textscan()
进行适当调用的代码。
答案 1 :(得分:0)
在没有时间研究之后,我终于抽出一些时间。我想出了这个:
Data = dlmread('000-int.txt', '', 'A1..B10');
M = mean(Data)
这只读取名为“000-int.txt”的文件的前两列,然后取平均值。
现在的问题是我无法弄清楚如何让它为162个以上的文件执行此操作。实际上,由于编号存在差距,因此它有点少。 我不知道从哪里开始,因为我在网上找不到任何东西。
谢谢,对于延迟和初始帖子感到抱歉,好像我要求有人为我编写代码。我最初只是陈述所有的事实,所以读者/作者将拥有所有必要的信息。