如何在MATLAB中实现小数点后保留2位。急!!!!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在MATLAB中实现小数点后保留2位。急!!!!!!相关的知识,希望对你有一定的参考价值。

不是只要输出形式变为小数点后两位即可,因为后面的计算中还要用到这个保留到小数点后2位的数。下面是我的程序,要求num和den成为保留小数点后2位的数字。答对的会追加财富
Fp=1200; %通带截止频率
Fs=2000; %阻带截止频率
Rp=1; %最大通带衰减
Rs=40; %最小阻带衰减
wp=Fp*2/fs; %模拟频率数字化
ws=Fs*2/fs; %模拟频率数字化
[N,wn]=buttord(wp,ws,Rp,Rs); %巴特沃兹滤波器
[num,den]=butter(N,wn);

实际上M软件的计算精度是一定,所谓的有效位数,不过是显示的问题
这个问题,很多人的做法是用vpa命令,但这有个问题,这样就把数值型的变成字符型的了
后面可能还需要转换,麻烦;有的用digits,有的sprintf,反正做法很多
其实用format bank就很好,该命令不会改变变量的属性。
但此命令只是对你的这个问题有效呀,巧了。要3位就该命令不行了。
想恢复的话,再用format就可以了。
参考技术A 实际上M软件的计算精度是一定,所谓的有效位数,不过是显示的问题
这个问题,很多人的做法是用vpa命令,但这有个问题,这样就把数值型的变成字符型的了
后面可能还需要转换,麻烦;有的用digits,有的sprintf,反正做法很多
其实用format bank就很好,该命令不会改变变量的属性。
但此命令只是对你的这个问题有效呀,巧了。要3位就该命令不行了。
想恢复的话,再用format就可以了。

怎样用MATLAB函数对一个无理数保留两位小数

如23.123456789通过一个函数或者方法让它等于23.12
一点要是MATLAB函数或者能在MATLAB中实现结果,谢谢!

实现方法为:fprintf('a = %.2f\\n',a)
如果允许将数据转换为字符型,也可以用此方法:num2str(a,'%.2f\\n')


示例展示如下:

假设a=1.2345,并保留两位有效数字

参考技术A MATLAB保留两位小数方法:
format bank 即可保留两位小数;
a=23.123456789;
b=num2str(a,'%.2f\n')
参考技术B a=23.123456789;
fprintf('a = %.2f\n',a)本回答被提问者采纳
参考技术C a=23.123456789;
b=round(a*100)/100;
参考技术D vpa(x,4);

以上是关于如何在MATLAB中实现小数点后保留2位。急!!!!!!的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何保留1位小数

matlab如何设置小数点后位数?

matlab 如何把数字保留两位有效数字? 比如如何把217变成220?

matlab里面如何保留小数点后三位

如何在matlab中得到一个小数小数点后每一位上的数?输出为一个数组。

matlab如何精确保留工作区内小数位数?