liuyang5299 发表于 2009-9-6 19:35:34

矩阵中的数据如何设置使其保留小数点后2位

经计算矩阵A=[-63.10527680082951, 0 ,78.88159600103688;
0 ,0 ,1;
-0.6084, -5.332395889670093, -0.730232558139535]怎么样使其矩阵中的数只保留小数点后2位。

kwxsp86 发表于 2009-9-6 20:47:40

执行命令format bank;
或者通过file>preferences,command Windows 下的numeric format 设置为bank即可。

风天小畜 发表于 2009-9-6 23:03:24

本帖最后由 风天小畜 于 2009-9-6 23:06 编辑

如果,是永久地去除 小数点后N位,(不知道有没有现成的函数?如果没有,就可以使用下面的我做的函数)

截去A矩阵小数点后N位?
先把A乘以10^N,在fix函数,去除小数点。再把结果除以10^N即可。function newMat = myFix(matA,varN)
%处理矩阵matA,使得矩阵matA内的数,只保留varN位小数,返回newMat;
%如果需要四舍五入或其它的,把fix换成ceil, floor, round;
newMat=fix(matA.*(10^varN))./(10^varN);
end
示范:
>> A=rand(5,4)
A =
         0.276025076998578         0.498364051982143         0.751267059305653         0.959291425205444
         0.679702676853675         0.959743958516081         0.255095115459269         0.547215529963803
         0.655098003973841         0.340385726666133         0.505957051665142         0.138624442828679
         0.162611735194631         0.585267750979777         0.699076722656686         0.149294005559057
         0.118997681558377         0.223811939491137         0.890903252535799         0.257508254123736
>> myFix(A,6)
ans =
                  0.276025                  0.498364                  0.751267                  0.959291
                  0.679702                  0.959743                  0.255095                  0.547215
                  0.655098                  0.340385                  0.505957                  0.138624
                  0.162611                  0.585267                  0.699076                  0.149294
                  0.118997                  0.223811                  0.890903                  0.257508
>>

liuyang5299 发表于 2009-9-7 12:29:13

2# kwxsp86
如果是一段程序中需要截取后2位,命令操作如何在程序中实现呢

kwxsp86 发表于 2009-9-7 13:14:35

你是想要取小数后两位而不想要整数部分是吗?
可以将你的数用rem(*,1)后把整数部分去掉,再看看。

下面以2.368为例:
------------------
如果你已经设置了format bank
那么可以直接rem(2.368,1)
则得到ans=0.37
------------
否则用3楼仁兄的函数
pp=rem(2.368,1);
pp2=myFix(pp,2);
pp2=0.37;
页: [1]
查看完整版本: 矩阵中的数据如何设置使其保留小数点后2位