如何在MATLAB中實現小數點後保留2位.

題目:

如何在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就可以了.

添加新評論

暱稱
郵箱
網站