声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3362|回复: 6

[控制系统类] simulink中数据输出如何拷贝到word、excel中

[复制链接]
发表于 2010-6-10 09:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 牛小贱 于 2014-3-20 18:51 编辑

我用out输出数据,并在worspace中打开yout,选中一列数据,点copy。然后,在word中粘贴,为啥word中全是0呀?导入到excel表格中,怎样导入呀?
回复
分享到:

使用道具 举报

发表于 2010-7-7 22:07 | 显示全部楼层
选中,直接复制
或者在edit菜单中选择复制到剪切板
发表于 2014-3-20 18:53 | 显示全部楼层
本帖最后由 牛小贱 于 2014-3-20 19:11 编辑

参考这个帖子:关于Simulink、excel数据相互传输的
http://wenku.baidu.com/link?url= ... w8s6C4JrHH5sTuNA7lG数据从matlab中workspace导出到word:
  1. save('data.doc','x','–ascii')
复制代码
数据从matlab中workspace导出到excel:
  1. dlmwrite('data.xls',A);%A表示数值矩阵,此命令的意思是将矩阵A中数据保存到data文件中,文件为excel格式。
复制代码
备注:
但有时将MATLAB数据导入到excel时出错。这时可以这样:分两步走,第一先将MATLAB数据保存到txt文档,即dlmwrite('data.txt',A) ,然后打开excel文件打开文件,将txt文档数据导入excel文件中即可。






点评

赞成: 5.0
赞成: 5
  发表于 2014-3-20 22:00
发表于 2014-3-20 19:17 | 显示全部楼层
补充一点:《关于MATLAB中的数据写入函数dlmwrite的解释说明》
MATLAB中的数据写入函数dlmwrite
dlmwrite功能简介
将矩阵写入ASCII分隔的文件。
使用方法
1.dlmwrite(filename, M)
  使用默认的分隔符(')将矩阵M写入ASCII格式的文件中。在目标文件filname中,数据是从第一行的第一列开始写的。输入的filename是使用单引号括起来的字符串。
2.dlmwrite(filename, M, 'D') matabc
将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第一行的第一列开始写的。逗号'是默认的分隔符,使用\t来产生制表符分割的文件。
3.dlmwrite(filename, M, 'D', R, C)
将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第R行的第C列开始写的,R和C从0开始,因此R=0,C=0指定了文件中的第一个数值,即左上角的位置。
4.dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...)
5.dlmwrite(filename, M, '-append') matabc
将矩阵数据追加到文件的末尾。如果你不指定''-append',dlmwrite覆盖文件中的任何现有数据。
7.dlmwrite(filename, M, '-append', attribute-value list)
接受一个属性值对列表。用户可以将'-append'标志放在属性-数值对之间,但不能放在属性和它的值的中间
备注:生成的文件是可读的电子表格程序。或者,如果您的系统为Windows安装Excel,您可以创建一个电子表格使用xlswrite。
该dlmwrite函数不接受输CELLM要导出一个单元格数组中只包含数字数据,使用cell2mat矩阵转换为数字的单元格,然后再调用dlmwrite数组。对于其他情况下,使用低级别的导出功能。欲了解更多信息,请参阅导出到一个单元格数组文本文件在MATLAB数据导入和导出文件。
应用举例例1
输出矩阵M到使用制表符分割的文件,使用6个有效数字精度:
dlmwrite('myfile.txt', M, 'delimiter', '\t', ...
'precision', 6)
type myfile.txt
0.893898 0.284409 0.582792 0.432907
0.199138 0.469224 0.423496 0.22595
0.298723 0.0647811 0.515512 0.579807
0.661443 0.988335 0.333951 0.760365
例2
输出矩阵M到一个使用6位十进制长度和传统的用于PC终止符的文件:
dlmwrite('myfile.txt', m, 'precision', '%.6f', ...
'newline', 'pc')
type myfile.txt
16.000000,2.000000,3.000000,13.00000
5.000000,11.000000,10.000000,8.000000
9.000000,7.000000,6.000000,12.000000
4.000000,14.000000,15.000000,1.000000
例3
输出矩阵M到一个文件,然后追加一个另外的矩阵到第一个矩阵下方的隔一行处:
M = magic(3);
dlmwrite('myfile.txt', [M*5 M/5], ' ')
dlmwrite('myfile.txt', rand(3), '-append', ...'roffset', 1, 'delimiter', ' ')
type myfile.txt
40 5 30 1.6 0.2 1.2
15 25 35 0.6 1 1.4
20 45 10 0.8 1.8 0.4

0.81472 0.91338 0.2785
0.90579 0.63236 0.54688
0.12699 0.09754 0.95751

当dlmread从文件中导入这两个矩阵时,小的矩阵使用0补齐:
dlmread('myfile.txt')
40.0000 5.0000 30.0000 1.6000 0.2000 1.2000
15.0000 25.0000 35.0000 0.6000 1.0000 1.4000
20.0000 45.0000 10.0000 0.8000 1.8000 0.4000
0.8147 0.9134 0.2785 0 0 0
0.9058 0.6324 0.5469 0 0 0
0.1270 0.0975 0.9575 0 0 0

点评

赞成: 5.0
赞成: 5
LZ好人啊!!!  发表于 2014-3-20 22:00
回复 支持 1 反对 0

使用道具 举报

发表于 2014-3-20 22:01 | 显示全部楼层
LZ好人啊!!!太有耐心了!!!好好看一下!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 21:48 , Processed in 0.061609 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表