【问题标题】:Writing matlab vector to a file that is matlab readable将 matlab 向量写入 matlab 可读的文件
【发布时间】:2016-09-13 11:02:25
【问题描述】:

对于 matlab:有没有办法将向量的值写入文件,以后可以由另一个 matlab 程序打开和读取?

具体来说:我有一个 matlab 程序,它计算一个包含 10^7 个条目的二进制值向量 $zvector$。我想将 $zvector$ 作为数据写入输出文件,以便可以通过电子邮件发送并轻松读取它作为另一个 matlab 程序的输入。理想情况下,输出文件将被称为“Output.m”,看起来像:

zvector=[ 0 1 1 … 0 1 ];

我喜欢 .m 格式,因为它易于用于 matlab 输入。我尝试了 matlab 的 write() 和 fwrite() 命令,但没有成功。我观察到这些生成的文件不能作为 matlab 可识别的输入轻松读取(至少,我不知道如何从中读取)。有没有办法实现我的目标?谢谢。


PS:我对最简单的方法感兴趣。如果这涉及不同类型的文件格式(不是 .m 格式),那很好。但是,在这种情况下,您可以同时提供写入和读取命令吗?再次感谢。

【问题讨论】:

  • 您可以将其保存为 MAT 文件。
  • 谢谢。我只是做了“help mat”和“help .mat”和“help MAT”无济于事。
  • 谢谢!实际上在 cmets 之间我发现了另一个关于 mat 格式的有用页面,并且我编写了一个用于写作和阅读的测试程序。有用!再次感谢。我使用的页面是:mathworks.com/help/matlab/ref/…
  • 我们的想法相同。已经这样做了。

标签: matlab


【解决方案1】:

感谢 @edwinksl 用 MAT 文件为我指明了正确的方向。我不知道这里公认的做法,但在 stackexchange 数学中,如果来自 cmets 的提示让您一路走来,我们鼓励您回答您自己的问题。所以我会回答我自己的问题。


Mat 格式可以很好地做到这一点。以下是用于以 Mat 格式读取和写入的示例脚本文件(有关更多文档,请参见上述 cmets 中的链接):

***脚本文件OutputTest.m:

filename = 'TestFile.mat';

TestVector=[1 1 0 1];

save(filename, 'TestVector');

***脚本文件 IntputTest.m

filename = 'TestFile.mat';

file=load(filename);

z =file.TestVector;

z

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多