截断变量 MATLAB

Truncating variable MATLAB

我正在 MATLAB 中使用数组 A。此数组中的值最多有 5 位小数。我想将这些值截断为较少的小数位数。

有没有办法做到这一点?

谢谢!

舍入位数:

要将值(或矩阵)舍入到给定的小数位数,请使用 round,例如舍入 2 位小数...

round(1.2345, 2) 

ans = 1.2300

要同时不显示尾随零,请先将格式更改为 shortg

format shortg

round(1.2345, 2)

ans = 1.23

格式compact可以达到类似的效果,请根据以下文档选择最适合您需要的格式。

文档:

回合:https://uk.mathworks.com/help/matlab/ref/round.html

格式:https://uk.mathworks.com/help/matlab/ref/format.html

出于某种原因,Matlab 的"truncate" 函数被称为fix。所以

>> fix(3.5) 
ans = 3

>> fix(-3.5)
ans = -3

要将任何东西截断、舍入、取整或取整到给定的小数位数,请乘以十次方、截断、取整、取整、取整或取整,然后将结果除以十次方。

所以:

>> fix(123.456 * 10^2)
ans = 12345

>> ans / 10^2
ans = 123.45