问题描述
- 关于C++的精度问题与matlab的比较
-
编写程序时,循环过程中有一矩阵公式,使用matlab写时,是可以参与运算的,最后得出的迭代结果也是会变化的,但是用C++编写时,发现得出的结果每一次基本没有发生变化,然后该矩阵中都是分数或者是0,分母都很大,但是C++的精度不是要比matlab的精度要好一些吗?为什么此时的结果会基本不变呢?
解决方案
解决方案二:
cpp使用的是float或者double吗?是不是cpp的计算公式会不会有计算正确
解决方案三:
C++里头用double,另外,做矩阵运算,有可以涉及到复数,所以还要自己写复数类的运算
解决方案四:
要注意一个问题,c++里面,浮点数和整数乘除,会转换为整除和整乘。
比如
int x = 3;
int d = 11.8;
d = d / x; // d = 3.000
解决方案五:
楼主,我不清楚你什么问题,请你将问题详细信息描述清楚,你说的很大是多大?所谓都是分数或者0又是什么情况,你原来正确的答案 多少,等等情况必须讲清楚我们才能帮你分析原因
时间: 2024-10-30 12:03:27