如何将MATLAB运行结果写入txt文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将MATLAB运行结果写入txt文件相关的知识,希望对你有一定的参考价值。

可以运用save语句。

matlab 常见的打开方式:

1、‘r’:只读方式打开文件(默认的方式),该文件必须已存在。

2、‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。

3、‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。

4、‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。

5、‘a’:在打开的文件末端添加数据。文件不存在则创建。

6、‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。

拓展资料

1、MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

2、它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。

3、为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

参考技术A 可以运用save语句。
举个例子:
将名为data.mat的matlab变量保存为名为data.txt的文件,可以这样来实现:
save data.txt data
或者 save('data.txt','data')

拓展说明:
MATLAB储存变数的基本命令是save,在不加任何选项(Options)时,save会将变数以二进制(Binary)的方式储存至副档名为mat的档案,如下述:
save:将工作空间的所有变数储存到名为matlab.mat的二进制档案。
save filename:将工作空间的所有变数储存到名为filename.mat的二进制档案。
save filename x y z :将变数x、y、z储存到名为filename.mat的二进制档案。
save filename x -ascii:将变数x以八位数存到名为filename的ASCII档案。
save filename x -ascii -double:将变数x以十六位数存到名为filename的ASCII档案。
参考技术B 如果x是二维矩阵,可以直接用下面语句存储
save
d:\a.txt
x
-ascii
数据被存储至d盘根目录下,可用记事本直接打开
如果x是三维,则需要单独提取每个波段数值,再根据以上语句存储至a.txt中
实例:
x=randperm(100);
%随机产生需要保存的数据
save
d:\a.txt
x
-ascii
就可以了
参考技术C a = [1,2,3,4,5,6,7,8,9];
fp = fopen('D:\ztq.txt','wt');
for i =1 : 9
fprintf(fp, '%d', a(i));
end
fclose(fp);
将数组a导入到D盘中的ztq.txt中。本回答被提问者和网友采纳
参考技术D 最初等的函数是fprintf
高级函数有csvwrite和dlmwrite

强化学习(使用 TensorFlow 和 Matlab 环境)

【中文标题】强化学习(使用 TensorFlow 和 Matlab 环境)【英文标题】:Reinforcement Learning (Using Tensorflow and a Matlab Env) 【发布时间】:2021-06-13 20:59:56 【问题描述】:

我将 RL 代理与在 matlab 中实现的环境相结合。 所以我让 python 脚本(使用 tensorflow V2)运行,编写一个带有动作的 txt 文件,并通过系统命令调用 matlab 环境。在 matlab 中读取 txt 文件,然后在 matlab 中进行计算并写入结果 txt 文件。然后这个txt文件被python读取,py脚本进一步运行。

可行,但是计算时间相对较长,一步需要9到13秒,尽管matlab计算只需要大约1.5 -2秒。因此,训练时间非常长,非常烦人。 不幸的是,你不能将环境重写为 Python,工作量太大,编译成 c++ 也相当困难。

还有更好的方法吗? 有谁知道如何改进它? python和matlab之间有什么接口可以在这里提供帮助吗?

提前致谢!

最好的 克里斯

【问题讨论】:

【参考方案1】:

我会尝试使用 subprocess 从 python 调用 matlab 并设置 stdin/out 管道。您可以阅读有关 here 或 here 的所有信息。写入和读取文件(当然取决于您的操作系统,但通常情况下)比进程之间的管道数据花费更多的时间。请随意阅读 IPC(进程间通信),在我看来,stdio 是您的最佳选择。

【讨论】:

非常感谢!我会看看那个。 @chris_2091 不客气,让我更新 :)

以上是关于如何将MATLAB运行结果写入txt文件的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何将运行的结果保存在txt中?

R -solve_LSAP线索包如何将结果写入txt文件?

matlab生成数据以二进制数据格式写入txt文件中

matlab生成数据以二进制数据格式写入txt文件中

matlab如何读取txt文件

强化学习(使用 TensorFlow 和 Matlab 环境)