matlab的数组copy的精度问题
在matlab里,array editor 中变量的数值显示可以是long、short等其他类型,可是为什么采取复制的形式,粘贴到别的文本编辑器里只有short的形式呢? 请问这个可否设置成和array editor中精度一样? 自己琢磨了好一阵子,也没有找到设置的方法。请指点一下,多谢了。 你直接把数据存成*.mat就可以了啊,这样精度不变的回复 #2 action 的帖子
谢谢,可是我想copy到word中去,小数点后保留足够多的位数,精度高一些... :( 可以这样啊,如果你的数据组不是很长的话,可以将它在命令栏里面显示出来,从命令栏里面复制不就行了。还有一种就是将mat转换为excel或者txt格式,这种我没有试过,呵呵 可以尝试用 文件I/O fprintf() 到去出一个文本里面,精度可以通过格式参数来控制 恩,昨天我就是用xlswrite写到了excel表格里面,然后从excel转到word中,自己感觉比较麻烦,所以就问一下,看看能不能直接从excel中转到word里。 多谢两位。
回复 #6 心灯 的帖子
不知道你用的是那个版本的,我试过了,用7.0的话把数据改成long,可以直接复制到word里面的,显示仍然是long型数据! 我的版本是:matlab2007a,到word2007. 我用的6.5, 在array editor中选择你要的精度,可以直接复制到word(或其它文本编辑器)中, 且可以保持精度不变.不知你操作时,为何会出现"精度只显示short的形式"?你再试试txt或rtf,看看是否显示正确.
[ 本帖最后由 xjzuo 于 2007-9-14 15:52 编辑 ]
回复 #8 心灯 的帖子
应该是版本的问题啊!呵呵 我的是 2007a,试了一下,的确会出现心灯的问题。大家虽然用的版本不同,但是没有道理越做越差的,所以,我怀疑是大家的操作不一致。之所以我和心灯遇到问题,我估计我俩是面对单元格的复制,而大家没有遇到问题,是因为面对内容的复制(即双击单元格,然后复制数据)。因此,大家不妨统一测试一下:
1. 设置 array editor 的精度为 long
2. 在命令窗口输入 a = randn(2,3) 回车
3. 在 workspace 双击 a 这个变量
4. 待出现 array editor 这个窗口后,拖动鼠标复制整个矩阵的内容
5. 粘贴到 word 中
看看在 word 中的数据是否 long 型吧
回复 #11 eight 的帖子
对,复制整个数组变量的多个单元格,出现这个问题。你说的这个操作和我的一致。:victory:如果双击某个long精度的单元格,进入单元格的编辑模式,那么再复制粘贴,这个就是long精度的。 现在安装了matlab2007b,发现别管显示是什么形式,复制出来就都是1790.00002993925这样的长度了,符合我的要求。终于不用输出到excel,然后从excel中copy了。 原帖由 心灯 于 2007-9-26 21:53 发表 http://www.chinavib.com/forum/images/common/back.gif
现在安装了matlab2007b,发现别管显示是什么形式,复制出来就都是1790.00002993925这样的长度了,符合我的要求。终于不用输出到excel,然后从excel中copy了。
我还没有安装 2007b 的打算,呵呵
[ 本帖最后由 eight 于 2007-9-26 22:20 编辑 ]
回复 #14 eight 的帖子
我是看到里面有些工具箱update了,而我可能用到其中的命令,所以想尝试一下。
页:
[1]