假设我有一个如下所示的单元格数组:
mycell =
[-1.6411e-16 + 1.4863e-19i] [ 0.6450 + 0.6433i]
[ 0.6450 + 0.6433i] [-1.6411e-16 + 1.4863e-19i]
我希望它是一个矩阵,所以我使用命令cell2mat
:
>> mymatrix = cell2mat(mycell)
mymatrix =
-0.0000 + 0.0000i 0.6450 + 0.6433i
0.6450 + 0.6433i -0.0000 + 0.0000i
我当然得到了我期望的单元数组和矩阵的结果,但为什么-1.6411e-16 + 1.4863e-19i被舍入为-0.0000 + 0.0000i?
而且,最重要的是,我怎么能避免这种情况呢?
谢谢。
编辑:我自己已经找到了解决方案。答案 0 :(得分:1)
没有精度损失。
只需设置科学记数法格式(简称shortE
),即可获得与单元格数组中出现的完全相同的数字:
>> format shortE
>> mymatrix
mymatrix =
-1.6411e-16 + 1.4863e-19i 6.4503e-01 + 6.4328e-01i
6.4503e-01 + 6.4328e-01i -1.6411e-16 + 1.4863e-19i