matlab 有没有按某个小数位数做四舍五入的函数
作者&投稿:皇码 (若有异议请与网页底部的电邮联系)
round(X) rounds the elements of X to the nearest integers。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
你可以这么做,比如你要对第3位小数进行四舍五入,那你就先将这个数乘以1000,然后用round函数进行四舍五入,然后再对结果除以1000获得了按第三位小数进行四舍五入之后的结果
round(X) rounds the elements of X to the nearest integers。
matlab中小数取整的函数大约有四个:floor、ceil、round、fix若A=[-2.0,-1.9,-1.55,-1.45,-1.1,1.0,1.1,1.45,1.55,1.9,2.0];floor:朝负无穷方向靠近最近的整数;floor(A)ans=-2-2-2-2-2111112ceil:朝正无穷方向靠近最近的整数;ceil(A)ans=-2-1-1-1-1122222round:取最近的整数(相当于四舍五入)round(A)ans=-2-2-2-1-1111222fix:取离0最近的整数fix(A)ans=-2-1-1-1-1111112
a=123.4567890;
a=roundn(a,-4)
a = 123.4568
住蚂辰泽: 如果不四舍五入,可以用正则表达式直接提取. 比如,要提取小数点后3位: string='1.123456 2.123456'; s=regexp(string,'\d+.\d{3}','match'); output: s={'1.1234','2.1234'}; 最后只要用for语句做str2num(s{i})就行了.
白云区19753581892: matlab里面有没有只要小数部分的函数命令?
住蚂辰泽: floor(x):得到不大于x的整数值; round(x):得到最接近x 的整数值; ceil(x):得到不小于x的整数值; fix(x):得到绝对值不大于x绝对值的整数值. 用原数减去整数部分不就是小数部分了吗
白云区19753581892: matlab中如何设置小数点后面的位数? - ?
住蚂辰泽: 用四舍五入 a=[0.139999860,0.159999840,0.179999820] a=(round(a.*100))./100
白云区19753581892: matlab有没有按某个小数位数做四舍五入的函数? - ?
住蚂辰泽: round(X) rounds the elements of X to the nearest integers.MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室).是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境.它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平.
白云区19753581892: matlab中,如何指定小数点后面位数? - ?
住蚂辰泽: a=[0.1399,0.1599,0.1799]; digits(2); vpa(a)得到: ans =[ 0.14, 0.16, 0.18]重点在于: digits用于设定显示精度,这里就是小数点后两位. vpa则用于以digits设定的精度来得到数值. 可以看出这样做是四舍五入了的.
白云区19753581892: matlab可以实现按位操作吗 - ?
住蚂辰泽: 在matlab中按位操作的函数有:bitand按位求与 a=bitand(7,3) a =3 bitor按位求或 a=bitor(7,3) a =7 祝你学习愉快!
白云区19753581892: Matlab怎么修改显示数值格式/精度/小数位数 - ?
住蚂辰泽: MATLAB默认运算位数为long,但是显示小数点固定为4位,可以通过format修改显示精度.内部运算精度使用var修改,具体方法如下. 设置显示精度,format FORMAT SHORT 固定5位小数点. FORMAT LONG 固定15位(Double)和7位(...
白云区19753581892: 如何用matlab随机生成一些在一定范围内不重复并且有1个小数位数的实数?比如生成在 - 5到5范围之间,任意两数互不重复的20个随机实数或者生成一个矩... - ?
住蚂辰泽:[答案] 我帮你编了一个M文件 function A=randfun A(1)=round((5-10*rand)*10)/10; %用来实现你的一个小数位数 for i=2:1:20 m=round((5-10*rand)*10)/10; while(any(A==m)==1) %检验是否有重复 m=round((5-10*rand)*10)/10; end A(i)=m; format short g; end
白云区19753581892: matlab中小数的按位异或如何实现 - ?
住蚂辰泽: 整数数列可以用函数 bitxor 或 xor 可以用 help xor 或help bitxor 看一下用法,实例如下:A = uint8([0 1 0 1])%可为矩阵 B = uint8([0 0 1 1]) TT = bitxor(A,B) A = 0 1 0 1 B = 0 0 1 1 TT =珐恭粹枷诔磺达委惮莲 0 1 1 0
白云区19753581892: MATLAB中有没有能检测一个数是不是小数或者分数 - ?
住蚂辰泽: 若一个分数的分子为1,如1/a=x(x为有限位的小数) 则可把x化为分母为10^n,分子为x*10^n的一个整数,n的取值要看x的小数位是几位 则x*10^n=10^n/a=2^n·5^n/a,可知等式左边是个整数,所以右边的分母a定能整除10^n,即a=2^i·5^j(i,j都大于等于0)时,1/a就为有限小数 反之,若a的因子中还有不是2和5的其他数,则分数1/a为无限循环小数 !