需要一种方法在Matlab中存储大量数据

时间:2012-08-18 16:45:47

标签: matlab file-io large-data

我以前问过这个,但我觉得我不够清楚,所以我会再试一次。

我正在运行网络模拟,我有几百个输出文件。每个文件都包含不同参数的模拟测试结果。

每个模拟有5个不同的参数和16个不同的测试。我需要一种方法来存储Matlab中的所有信息(并且还有很多信息),目的是使用脚本绘制图形。假设脚本输入是parameter_1和test_2,那么我得到一个图表,其中parameter_1是X轴,test_2是Y轴。

我的问题是我不太熟悉Matlab,我需要被指导所以它不会永远带我(我的时间很短)。

如何在Matlab中存储此信息?我想到了两个选择:

  1. 每个输出文件分别导入另一个变量(矩阵)
  2. 所有输出文件都合并到一个输出文件并一起显示。在结果矩阵中,每一行是不同的输出文件,每列是不同的测试。问题是,我不知道如何存储模拟参数 编辑:也许我可以使用数据集?
  3. 所以,我很感激任何关于如何存储信息的建议,以及哪些功能可以帮助我获取我需要的唯一数据。

3 个答案:

答案 0 :(得分:1)

如果你仍然想让matlab尝试解决这个问题,你可以遍历所有文件并逐个导入它们。您可以使用函数

创建文件夹内容的列表
ls(name)

你可以导入这样的数据:

A = importdata(filename)

如果您的数据位于txt文件中,则应考虑此Prev Q

避免工作空间混乱的好策略是将它们全部导入到单个矩阵中。因此,如果您有一个名为VAR的矩阵,那么VAR {1,1}。{1,1}就可以放置您的测试结果和VAR {1,1}。{2,1}可能是您放置模拟的地方第一个文件的参数。我认为这比制作数据结构更简单。只需确保将信息统一放在数组的相同索引中。您还可以通过参数vs test来组织VAR row v col。

这更符合你的第一个建议

  

每个输出文件分别导入到另一个变量   (基体)

您的第二个建议似乎没必要,因为您可以遍历您的文件。

答案 1 :(得分:0)

您可以使用命令save来存储数据。 它非常方便,可以存储硬盘可以承载的数据。

文档在那里: http://www.mathworks.fr/help/techdoc/ref/save.html

答案 2 :(得分:0)

描述文本文件的格式。因为如果它具有系统格式,那么您可以在matlab中使用dlmread或类似命令,并在矩阵中读取文本文件。从那里,你可以轻松地绘图。如果你尝试在excel中执行它,它将比从文本文件中读取要慢得多。如果速度对你来说是一个问题,我建议你不要去Excel。