1、floor 向下取整>> a=1.4;>> b=floor(a)b = 1 2、ceil向上取整>> b=ceil(a)b = 2 3、fix向零取整 >> a=[-1.9,1.9]; >> b=fix(a)b = -1 1 4、round 四舍五入取整 >> a=[0.4 0.5]; >> b=round(a)b = 0 1 擴(kuò)展資料: 一、優(yōu)勢(shì)特點(diǎn) 1、高效的數(shù)值
用matlab進(jìn)行數(shù)據(jù)計(jì)算的時(shí)候,會(huì)用到取整函數(shù),matlab中取整函數(shù)有好幾個(gè),一般都能滿足常規(guī)的計(jì)算需求。那么,MATLAB中如何取整_matlab取整函數(shù)有哪些呢?下面讓我來(lái)給大家介紹下吧,希望對(duì)大家有所幫助。
方法
floor(x):向下取整舉例圖示如下
1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans = 3 -3 (2)floor(x):不超過(guò)x 的最大整數(shù).(高斯取整) >> floor( [3.12 -3.12]) ans = 3 -4 (3)ceil(x) : 大于x 的最小整數(shù) >> ceil( [3.12 -3.12]) ans = 4 -3 (4)四舍五入取整 >> round(3.12 -3
ceil(x):向上取整舉例圖示如下
函數(shù)(變量):g g=round(g); % 取四舍五入 % g=ceil(g); % 取g的整數(shù)部分+1(若g=4.5,取5) % g=floor(g); % 取g的整數(shù)部分
round(x):取最接近的整數(shù)舉例圖示如下
根據(jù)你的需要,可以使用fix、ceil、floor、round這幾個(gè)函數(shù)。 這幾個(gè)函數(shù)的取整規(guī)則不同:fix只保留整數(shù)部分,ceil向上取整,floor向下取整,round是進(jìn)行舍入取整。這幾個(gè)函數(shù)各不相同,是不能互相取代的。 通過(guò)具體的例子來(lái)體會(huì)一下: >> x=[-1
fix(x):向0取整舉例圖示如下
floor函數(shù)(向下取整)或ceil函數(shù)(向上取整)(你的要求,應(yīng)該是用floor函數(shù)) 例如,a=3.1415926保留三位 b=1000*a; a=floor(b)/1000 得到a=3.1410,a已被賦值3.141 后邊5926被舍去,正是你需要的保留方式。 同樣的, b=1000*a; a=ceil(b)/100
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
matlab中的一個(gè)函數(shù)Y怎樣取正數(shù)?
題目 如何取正數(shù):這個(gè)可以通過(guò)abs函數(shù)實(shí)現(xiàn),abs是取絕對(duì)值的函數(shù)。
題干 選擇為正的數(shù)值。可以用find函數(shù)實(shí)現(xiàn)
a = find(b>0);
將會(huì)返回b中所有大于0的點(diǎn)。
怎么用matlab自己定義一個(gè)函數(shù),使這個(gè)函數(shù)可以將一個(gè)數(shù)組從小到大排列并取整!
看你想用什么排序方法了,簡(jiǎn)單一些的話就是O(n^2)的方法如冒泡排序、插入排序和選擇排序,復(fù)雜一些的有O(n*logn)的快速排序等。一個(gè)簡(jiǎn)單的選擇排序可如下寫:
function S = floorsort( A )
S = zeros(size(A));
for i = 1:length(A)
[a, b] = min(A);
S(i) = a;
A(b) = [];
end
S = floor(S);
end
望采納,謝謝!追問(wèn)謝謝啦,我試了,對(duì)的。你還能給我解釋下每個(gè)語(yǔ)句的意思嗎?謝謝啦。追答哦,好:
function S = floorsort( A ) %定義函數(shù),輸入為A,輸出為S
S = zeros(size(A)); %初始化S的大小
for i = 1:length(A) %給S的每一個(gè)數(shù)賦值,第一個(gè)為A中最小的,第二個(gè)為第二小的。。。
[a, b] = min(A); %尋找A中最小的數(shù)a和其在A中的位置b
S(i) = a; %將a賦給S的第i個(gè)數(shù)
A(b) = []; %將這個(gè)數(shù)(當(dāng)前A中的最小值)從A中刪去,下次循環(huán)繼續(xù)尋找剩下里邊最小的即可
end
S = floor(S); %取整運(yùn)算
end
matlab函數(shù)自變量只能取整數(shù)值怎么計(jì)算
看不懂你問(wèn)的啥意思。如果你的意思是要求你編的函數(shù)輸入變量只取整數(shù)的話在程序開頭加:
if rem(input,1)~=0
error('輸入錯(cuò)誤');
end
matlab fcn模塊實(shí)現(xiàn)數(shù)據(jù)取整程序怎么寫
這兩個(gè)的區(qū)別是fcn只能是一個(gè)函數(shù)表達(dá)式,把傳進(jìn)模塊的數(shù)據(jù)u,按函數(shù)表達(dá)式進(jìn)行計(jì)算。假如輸入的數(shù)據(jù)u是一個(gè)2*1的向量,我們可以定義如下函數(shù)sin(u(1)*exp(2*(-u(2))))而Matlab fcn是在模塊中填入一個(gè)函數(shù)名以及參數(shù)列表,這個(gè)函數(shù)可以是M文件,也可以是匿名函數(shù)等,但是要是這個(gè)函數(shù)只能返回一個(gè)參數(shù)。比如,myfun(u(1),u(2),u(3))簡(jiǎn)單的說(shuō)fcn的功能比較簡(jiǎn)單,只能完成一個(gè)簡(jiǎn)單數(shù)學(xué)表達(dá)式的數(shù)學(xué)計(jì)算。而matlab fcn是在調(diào)用一個(gè)函數(shù),這個(gè)函數(shù)可以簡(jiǎn)單也可以復(fù)雜
MATLAB判斷一個(gè)數(shù)是否整數(shù)
MATLAB判斷一個(gè)數(shù)是否整數(shù)的方法有兩個(gè):
1、用求余函數(shù)rem(x,1);其中x為目標(biāo)數(shù),目標(biāo)數(shù)對(duì)1進(jìn)行取余。如果該函數(shù)的返回值為0則目標(biāo)數(shù)為整數(shù)。
2、用取整函數(shù)fix(x)對(duì)目標(biāo)函數(shù)進(jìn)行取整然后在用目標(biāo)數(shù)對(duì)該函數(shù)的返回值進(jìn)行對(duì)比,如果結(jié)果相同則目標(biāo)數(shù)為整數(shù)。
擴(kuò)展資料:
MATLAB的優(yōu)勢(shì)特點(diǎn)
1) 高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能,能使用戶從繁雜的數(shù)*算分析中解脫出來(lái);
2) 具有完備的圖形處理功能,實(shí)現(xiàn)計(jì)算結(jié)果和編程的可視化;
3) 友好的用戶界面及接近數(shù)學(xué)表達(dá)式的自然化語(yǔ)言,使學(xué)者易于學(xué)習(xí)和掌握;
4) 功能豐富的應(yīng)用工具箱(如信號(hào)處理工具箱、通信工具箱等) ,為用戶提供了大量方便實(shí)用的處理工具。
參考資料:百度百科——MATLAB
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com