【matlab】在程序运行结果中保存数据到txt文档

文件写入方法

问题提出:现在要保存程序的输出结果,包括运行时间,运行结果和中间变量。其中运行时间和运行结果只是一个数字,中间变量结果时一个n*n的矩阵和一个2*n的矩阵。想把这些量保存在txt文件中。

 

save 函数

将工作空间中的变量写入文件,导出mat文件中。

 

1. 调用dlmwrite函数

dlmwrite(filename,M)

dlmwrite(filename,M,’D’)  D用来指定数据间分隔符。 ‘ ’表示空格。’\t’ 制表符

dlmwrite(filename,M,’attrib1’,value1,’ attrib2’,value2,…………)

参数名(attribute)

参数值(value)

说明

delimiter

单个字符

设定数据间分隔符

newline

‘pc’

设定换行符为‘\r\n’

‘unix’

设定换行符为‘\n’

precision

以%引导的精度控制符

指定有效位数

 

 

 

 

dlmwrite('1.txt',A,' ') 将A中的数据存入1.txt中,并以空格作为分隔符。若没有文件1,则创建txt文件。

dlmwrite('2.txt',A,'\t') \t 制表符,有利于显示

dlmwrite('2.dat',A,' ') 将A中的数据存入2.dat中,并以空格作为分隔符。若没有文件1,则创建txt文件。

dlmwrite('2.txt',A,' ')

dlmwrite('2.txt',a,'-append') a中的数据接着存入2.txt中,若没有'-append'则将2.txt清空,再存入a

 

总结:可以用dlmwrite 将运行结果存入txt文件中。

dlmwrite('result.txt',obj,'\t');

dlmwrite('a.txt',a,'\t');

dlmwrite('time.txt',cpu_time,'\t');

 

2,调用 fprintf 函数写入数据

以上调用dlmwrite函数虽然可以使用,但是不能将结果写入同一个文档中。尝试用fprintf函数实现写入同一个文档中的功能。

count= fprintf(fid,format,A,……) A存入fid

 

转换指示符用来控制符号表示法,对齐方式,有效位数,字段宽度和输出格式等。format字符串包括含不可打印的控制符,如换行或者制表符等。

1)控制标志(可选)“-”表示左对齐。

2)字段宽度(可选)

3)精度(可选)

4)转换符(必须) %-6.2f 表示以左对齐方式输出一个浮点数,宽度为6个字符,小数点后面有2个有效数字。

\f:进纸; \n:换行; \t:水平制表符;

 

注意:调用fprintf函数写入数据时,format参数指定的格式循环作用于列上,原始矩阵的列在文件中或屏幕上就变成了行。下次使用的时候要转置过来!

 

当n=9时,程序为:

fid=fopen('result.txt','at');   %新建一个result的txt文件存放结果

fprintf(fid,'% -f\n',cpu_time); %存储运行时间

fprintf(fid,'% -f\n',obj);  %存储运行结果

fprintf(fid,'%-1.0f %-1.0f %-1.0f %-1.0f%-1.0f %-1.0f % -1.0f % -1.0f % -1.0f\r',a);% 以%开始,-为控制符号,1为字符宽度,0为小数点后面的位数,f为转化符,\r为换行。

fclose(fid);

 

总结:可以存放在同一个文档中便于管理,但是不足之处在于当n的值变大的时候,a变量的写入书写有难度。

下一步是思考当程序运行比较多的时候,怎么批量读数据和写数据以及数据和excel的交互。

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要将MATLAB神经网络GUI界面嵌入到其他软件,可以按照以下步骤进行操作: 1. 首先,确保你已经在MATLAB完成了神经网络GUI界面的开发和设计。 2. 在MATLAB,将该GUI界面保存为一个独立的.m文件。确保该文件包含了所有相关的函数和回调。 3. 对于目标软件而言,首先需要确定能否与MATLAB进行交互,并能否调用外部的.m文件进行操作。这一步需要查看目标软件的开发文档或者与其开发者进行联系。 4. 在目标软件的开发环境,创建一个能够包含GUI界面的容器。这个容器可以是一个窗口、面板或者其他适当的控件。 5. 将MATLAB编译器或MATLAB Runtime(如果可用)添加到目标软件的环境。这样可以确保能够在目标软件调用MATLAB函数。 6. 在目标软件,通过调用MATLAB函数或脚本的方式加载.m文件。可以使用MATLAB提供的API接口或者命令行调用。 7. 将加载的.m文件添加到前面创建的容器,以嵌入MATLAB神经网络GUI界面。具体的方法和语法取决于目标软件所使用的开发语言。 8. 进行必要的调试和测试,确保嵌入的GUI界面可以在目标软件正常运行。 需要注意的是,嵌入MATLAB神经网络GUI界面到其他软件需要有一定的编程技能和对相关软件的了解。此外,成功地嵌入GUI界面可能还需要一些额外的设置和调整,以适应不同的软件环境。 如果遇到问题,建议参考相关软件的开发文档或咨询开发者的帮助。 ### 回答2: 要将MATLAB神经网络GUI界面嵌入到其他软件,可以采取以下步骤: 1. 导出MATLAB神经网络GUI界面为独立的可执行文件。在MATLAB,可以使用“GUIDE”工具创建GUI界面并生成.m文件。 2. 将生成的.m文件使用MATLAB的功能进行编译,生成可执行文件(.exe文件)或者独立的应用程序。 3. 将生成的可执行文件或者应用程序嵌入到目标软件。具体嵌入方法可能因软件不同而有所差异,可以参考目标软件的开发文档或者寻找合适的接口进行嵌入。 4. 在目标软件调用嵌入的文件或应用程序。使用目标软件的相关接口或者控件,可以在适当的位置设置按钮、菜单或者其他触发机制,触发调用嵌入的文件或应用程序。如有必要,可能还需要设置参数和数据的传递。 5. 运行目标软件并测试嵌入的功能。确保嵌入的MATLAB神经网络GUI界面能够正常运行,并且与目标软件协同工作。 需要注意的是,以上步骤仅供参考,具体实施时需要根据具体情况进行调整和修改。嵌入MATLAB界面到其他软件可能存在平台和兼容性问题,因此在开始嵌入过程前,建议进行充分的研究和测试。 ### 回答3: 要将Matlab神经网络GUI界面嵌入到其他软件,可以采用以下步骤: 1. 首先,将Matlab神经网络GUI界面导出为一个独立的可执行文件或者一个Matlab函数。 2. 如果要将GUI界面嵌入到其他软件,需要了解其他软件是否支持嵌入外部程序的功能,例如通过插件或者API等方式。 3. 如果其他软件支持插件或者API,根据其提供的接口规范和开发文档,使用编程语言(如C++、C#、Java等)来创建一个插件或者API,将Matlab神经网络GUI界面嵌入其。 4. 在插件或者API,可以使用Matlab Compiler SDK提供的功能来调用已经导出的Matlab神经网络GUI界面可执行文件或者函数。Matlab Compiler SDK可以将Matlab代码编译成可执行文件或者C/C++函数,用于在其他程序调用。 5. 在插件或API,根据需要可以设置和获取Matlab神经网络GUI界面的输入和输出参数,以及处理相应的事件和响应操作。 6. 最后,根据其他软件的需求,在其界面嵌入调用Matlab神经网络GUI界面的插件或者API,并进行相应的配置和调用。 需要注意的是,以上步骤仅仅是一种常见的方法,具体的嵌入过程可能因软件的不同而异。在实际操作,需要根据其他软件提供的具体接口和开发文档,以及Matlab Compiler SDK的相关文档,进行相应的开发和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值