Matlab 计算结果不对,det(A)得到的正确应该是整数啊,但得到了的却是浮点数,如何设置才能执行正确?

>> AAA=[1,1,1,1;2,2,3,5;6,7,8,5;3,5,7,4]

AAA =

1 1 1 1
2 2 3 5
6 7 8 5
3 5 7 4

>> aaa=det(AAA)

aaa =

-3.000000000000006

>> aaa==-3

ans =

0

第1个回答  2013-05-21
如果你确定你的结果一定是整数,那就round(aaa)吧。追问

没有其他选择吗?(行列式中的元素都是整数,行列式的计算法则中只有元素之间的加减乘法,没有除法,也不引入其他常量,所以是整数)。Matlab这么强大应该可以搞定吧?

追答

这个其实很正常的,你用C写的代码好多整数结果你如果用float或者double型变量都会得到例如4.9999999998之类的值。

本回答被提问者采纳
第2个回答  2013-05-21
自己用行列式定义写一个det()函数就好了
相似回答