-
转http://www.blogbus.com/shijuanfeng-logs/234881647.html
Matlab,计算得到的结果一般是小数形式。
但为了更精确表示,我们有时候需要用到分数形式
例如,有这样一个矩阵:
A =
-0.0167 -0.0083 0 0 1.9167 0
0 0 -0.0167 -0.0083 0 1.9167
0.0167 -0.0083 0 0 -0.2500 0
0 0 0.0167 -0.0083 0 -0.2500
0 0.0167 0 0 -0.6667 0
0 0 0 0.0167 0 -0.6667
可以很明显看出,0.0167是0.01666666...的近似结果, 0.0083实际是0.00833333...
如果这个矩阵用来再次做运算时,小数表示造成的精度损失可能被放大,影响后续运算。
用这样一条语句
format rat
A表示为:
A =
-1/60 -1/120 0 0 23/12 0
0 0 -1/60 -1/120 0 23/12
1/60 -1/120 0 0 -1/4 0
0 0 1/60 -1/120 0 -1/4
0 1/60 0 0 -2/3 0
0 0 0 1/60 0 -2/3
这样子形式,减少了对精度的损失。