作业帮 > 数学 > 作业

请教matlab中的计算问题,可能和精度有关?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/04/29 11:43:13
请教matlab中的计算问题,可能和精度有关?
在matlab中计算一个矩阵,形式为a=g'*Q*g,Q为对称矩阵,结果出现系统认为a不是对称阵,a-a'居然不等于0
而g'*Q*g-g'*Q‘*g=0;
请问这是怎么回事?
符号运算是最精确的,因此g'*Q*g-g'*Q‘*g=0;
但是如果是数值运算,那么如果您学过《数值分析》这门课程的话就会有更深入的了matlab对数值进行计算时会产生截断误差和舍入误差,在这里属于舍入误差,matlab在进行数值计算时,所能得到的最小的小数是eps=2.2204e-016,当一个很大的数乘以一个很小的数时,最后面的几位小数就容易因为四舍五入而产生舍入误差,也就出现了您所遇到的‘a-a'居然不等于0’的情况了