FPGA Player

好记性不如烂笔头

导航

Matlab 中以分数显示结果

  •  

    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   

     

     

    这样子形式,减少了对精度的损失。

posted on 2017-04-07 15:02  中国的孩子  阅读(23951)  评论(0编辑  收藏  举报