东山客 发表于 2009-5-8 20:46

如何导入包含复数的excel数据

非常纳闷,求助。

谢谢。

ChaChing 发表于 2009-5-8 21:29

没如此用过, 刚试下, 好像仅real part被写出!
待高人路过

xiezhh 发表于 2009-5-10 11:09

我用xlsread函数试了一下,能读入复数,不过读入的是字符型元胞数组的形式,还需要用str2num函数转化为复数。

ChaChing 发表于 2009-5-10 11:26

回复 板凳 xiezhh 的帖子

喔! 楼主是要excel -> matlab (xlsread)! 又看错!
matlab -> excel(xlswrite)好像对复数无法输出!
请高手确认下!

xiezhh 发表于 2009-5-10 16:15

回复 ChaChing 的帖子
我也试了一下matlab -> excel,对复数不能直接输出,不过这样倒可以
x=exp('*i)
xlswrite('xx.xls',cellstr(num2str(x)))

ChaChing 发表于 2009-5-10 17:09

回复 5楼 xiezhh 的帖子

谢谢xiezhh的回覆! 可是我记得Excel的复数好像并非如此输入!
目前用的电脑无法使用Excel, 晚点再试

friendchj 发表于 2009-5-10 17:41

回复 5楼 xiezhh 的帖子

的确好用,呵呵

ChaChing 发表于 2009-5-11 09:38

试了下excel!
怎发现excel好像不支援复数的运算, 我仅找到有函数支援相关复数的运算, 但其格式并非数字格式!
5F的试过了, 可以写出(虽仍非数字格式!), 但无法用xlsread('xx.xls')读入(结果为empty)! 不知是否为版本问题(2006a)

friendchj 发表于 2009-5-11 19:14

回复 8楼 ChaChing 的帖子

嗯,的确是。不知为什么,建议实虚部分开读写。

xiezhh 发表于 2009-5-12 21:04

回复 8楼 ChaChing 的帖子
可以再重新读入
=xlsread('xx.xls')
a =
   []
b =
    '0.5403+0.84147i'
    '-0.41615+0.9093i'
    '-0.98999+0.14112i'
    '-0.65364-0.7568i'
    ' 0.28366-0.95892i'
    ' 0.96017-0.27942i'
    '0.7539+0.65699i'
    ' -0.1455+0.98936i'
    '-0.91113+0.41212i'
    '-0.83907-0.54402i'

ChaChing 发表于 2009-5-12 21:26

回复 10楼 xiezhh 的帖子

谢谢! 我了解了!
Excel是将这些当做文字格式, 所以应 = xlsread('filename', ...)!:@L
excel好像不支援复数的运算, 对吧!
页: [1]
查看完整版本: 如何导入包含复数的excel数据