【问题标题】:Need a method to store a lot of data in Matlab需要一种方法在matlab中存储大量数据
【发布时间】:2012-08-14 18:19:52
【问题描述】:

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

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

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

我的问题是我对 Matlab 不太熟悉,我需要得到指导,这样我就不会永远花时间(我的时间很短)。

如何在 Matlab 中存储这些信息?我在想两个选择:

  1. 每个输出文件都单独导入到不同的变量(矩阵)
  2. 所有输出文件合并到一个输出文件并一起导入。在结果矩阵中,每一行是一个不同的输出文件,每一列是一个不同的测试。问题是,我不知道如何存储模拟参数 编辑:也许我可以使用数据集?

所以,如果您有任何关于如何存储信息的建议,以及哪些功能可以帮助我获取所需的唯一数据,我将不胜感激。

【问题讨论】:

  • 对于不太熟悉 Matlab 的人来说,这是一个野心勃勃的第一个项目。您熟悉哪些软件包?为什么你认为你需要使用 Matlab 呢?
  • Matlab 不是因为这个原因而创建的吗?在 excel 中存储和过滤数据(我使用的是 python)很容易,但是在 python 中绘制图形并不容易。也许我可以在 Excel 中存储和获取信息,然后仅使用 Matlab 进行绘图?
  • 也许您可以在 Excel 中存储和获取信息,然后也使用 Excel 进行绘图?我并不是说 Matlab 不适合您想做的事情,而是您的 Matlab 技能(还)不适合,而且由于您没有时间在 Matlab 上苦苦挣扎,因此无法帮助您快速完成项目。压力。
  • 现在我将尝试继续使用 Matlab,看看情况如何。使用数据集在我的列表中实施方法 2 怎么样?还是谢谢!
  • “在 python 中绘制图表没有简单的方法” - Matplotlib

标签: matlab file-io large-data


【解决方案1】:

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

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

你可以像这样导入数据:

A = importdata(filename)

如果你的数据是 txt 文件,你应该考虑这个Prev Q

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

这更符合您的第一个建议

每个输出文件都单独导入到不同的变量中 (矩阵)

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

【讨论】:

  • 好的,假设我有你建议的 VAR。现在我想绘制 parameter_1 和 test_1 的图表,但其他参数也必须保存我定义的特定值。我应该使用/阅读什么功能?谢谢!
  • 还有一个想法:如果我使用键是参数的映射,我可以用正则表达式查找键吗?
  • 我不确定你的意思,你不能在绘图时引用 VAR 中的数据吗?我应该认为您可以针对给定的测试结果和参数系统地遍历您的 VAR,并保存您的数据。如果您能详细说明,我会尽力帮助您。
【解决方案2】:

您可以使用命令save 来存储您的数据。 非常方便,可以存储尽可能多的数据。

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

【讨论】:

  • 保存数据并不是真正的问题,而是如何在 Matlab 中存储数据
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多