中常見函數(shù)的用法
1size()函數(shù)
1)s=size(A),
當(dāng)只有一個(gè)輸出參數(shù)時(shí),返回一個(gè)行向量,該行向量的第一個(gè)元素時(shí)矩陣的行數(shù),第二個(gè)元素是矩陣的列數(shù)。
2)[r,c]=size(A),
當(dāng)有兩個(gè)輸出參數(shù)時(shí),size函數(shù)將矩陣的行數(shù)返回到第一個(gè)輸出變量r,將矩陣的列數(shù)返回到第二個(gè)輸出變量c。
3)size(A,n)
如果在size函數(shù)的輸入?yún)?shù)中再添加一項(xiàng)n,并用1、2或者3為n賦值,則 size將返回矩陣的行數(shù)或列數(shù)。其中r=size(A,1)該語句返回的時(shí)矩陣A的行數(shù), c=size(A,2) 該語句返回的時(shí)矩陣A的列數(shù)。如果A為一個(gè)二維數(shù)組,則可以將其看成一個(gè)第三維為1的數(shù)組,即size(A,3)的返回值為1。
()函數(shù)
B = (A,,,)
A為輸入圖像,B為填充后的圖像,給出了給出了填充的行數(shù)和列數(shù),通常用[r c]來表示。和分別表示填充方法和方向。它們的具體值和描述如下:選項(xiàng):''表示圖像大小通過圍繞邊界進(jìn)行鏡像反射來擴(kuò)展;
''表示圖像大小通過復(fù)制外邊界中的值來擴(kuò)展;
''圖像大小通過將圖像看成是一個(gè)二維周期函數(shù)的一個(gè)周期來進(jìn)行擴(kuò)展。選項(xiàng):'pre'表示在每一維的第一個(gè)元素前填充;
'post'表示在每一維的最后一個(gè)元素后填充;
'both'表示在每一維的第一個(gè)元素前和最后一個(gè)元素后填充,此項(xiàng)為默認(rèn)值。
若參量中不包括,則默認(rèn)值為'both';若參量中不包含,則默認(rèn)用0來填充。若參量中不包括任何參數(shù),則默認(rèn)填充為零且方向?yàn)?both'。在計(jì)算結(jié)束時(shí),圖像會(huì)被修剪成原始大小。
3 ()函數(shù)
用于從數(shù)組a和b產(chǎn)生網(wǎng)格。生成的網(wǎng)格矩陣A和B大小是相同的,它也可以是更高維的。該函數(shù)在使用進(jìn)行3-D圖形的繪制方面有著廣泛的應(yīng)用。
[A,B]=(a,b),生成size(b)*size(a)大小的矩陣A和B。A矩陣相當(dāng)于a從一行重復(fù)增加到size(b)行,B矩陣相當(dāng)于把b轉(zhuǎn)置成一列再重復(fù)增加到size(a)列。因此命令等效于A=ones(size(b))*a;B=b'*ones(size(a))
實(shí)例:a=[1:2];a =12;b=[3:5];b =345;[A,B]=(a,b)
A =
1 2 1 2 1 2 B =
3 3
4 4
5 5
4 find()函數(shù)
find函數(shù)用于找到非零元素的索引和值。
1)ind = find(X)
找出矩陣X中的所有非零元素,并將這些元素的線性索引值( :按列)
返回到向量ind中。如果X是一個(gè)行向量,則ind是一個(gè)行向量;否則,ind是一個(gè)列向量。如果X不含非零元素或是一個(gè)空矩陣,則ind是一個(gè)空矩陣。
2)ind = find(X, k) 或ind = find(X, k, 'first')
返回從前邊開始數(shù),前k個(gè)非零元素的索引值,k必須是一個(gè)正數(shù),但是它可以是任何數(shù)字?jǐn)?shù)值類型。
3)ind = find(X, k, 'last')
返回從后邊開始數(shù),前k個(gè)非零元素的索引值,k必須是一個(gè)正數(shù),但是它可以是任何數(shù)字?jǐn)?shù)值類型。
4)[row, col] = find(X, ...)
返回矩陣X中非零元素的行和列的索引值。這個(gè)語法對于處理稀疏矩陣尤其有用。如果X是一個(gè)N(N>2)維矩陣,col包括列的線性索引。例如,一個(gè)5*7*3的矩陣X,有一個(gè)非零元素X(4,2,3),find函數(shù)將返回row=4和col=16。也就是說,(第1頁有7列)+(第2頁有7列)+(第3頁有2列)=16。
5)[row, col, v] = find(X, ...)
返回X中非零元素的一個(gè)列或行向量v,同時(shí)返回行和列的索引值。如果X是一個(gè)邏輯表示,則v是一個(gè)邏輯矩陣。輸出向量v包含通過評估X表示得到的邏輯矩陣的非零元素。()函數(shù)
B = (A,m,n)
B = (A,[m n])
B = (A,[m n p...])
這是一個(gè)處理大矩陣且內(nèi)容有重復(fù)時(shí)使用,其功能是將A的內(nèi)容作為一個(gè)整體進(jìn)行擴(kuò)充,最終B矩陣包括m*n個(gè)A矩陣。B矩陣的大小由m*n及A矩陣的內(nèi)容決定,如果A是一個(gè)3x4x5的矩陣,有B = (A,2,3)則最后的矩陣是
例如:
B=([1 2;3 4],2,3)
B =
1 21 21 2
3 43 43 4
1 2 121 2
3 4 343 4
其結(jié)果變?yōu)?X6。
函數(shù)中的矩陣A也可以是字符串,例如:
C=(' Long live the king!', 2,2)
C =
Long live the king! Long live the king!
Long live the king! Long live the king!
也可置放其他的符號(hào):
D=(NaN,2,5)
D =
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
中的取整函數(shù)集合
1)fix(x) : 截尾取整。
例如:
fix([3.12 -3.12])
ans =
3 -3
2)floor(x):不超過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.12])
ans =
3 -3
7prod()函數(shù)
1)B = prod(A)
求矩陣A每一列的元素的乘積。
如果A是向量,prod(A)返回A向量所有元素相乘的乘積。
如果A是矩陣,prod(A)將A看作列向量,返回每一列元素的乘積并組成一個(gè)行向量B。
如果A是多維數(shù)組,prod(A)沿著第一個(gè)非單例作為向量,返回一個(gè)行向量數(shù)組。
2)B = prod(A,dim)
沿著指定的dim標(biāo)量的維計(jì)算A矩陣的乘積。注:dim=2表示沿行計(jì)算。
例如:
M = magic(3)
M =
8 1 6
3 5 7
4 9 2
prod(M) =
96 45 84
prod(M,2) =
48
105
72
函數(shù)
的作用:求矩陣中值。
1)(M),每一列返回一個(gè)值,M為該列的從大到小排列的中間值.
2)(M,dim),dim的值為1或2,其中1表示按每列返回一個(gè)值,為該列從大到小排列的中間值,而2表示按每行返回一個(gè)值,為該行從大到小排列的中間值。
3)注意:如果行或列的個(gè)數(shù)為偶數(shù),返回中間兩個(gè)值的平均值。
9求余函數(shù)rem和mod
rem(x,y) & mod(x,y)
如果x和y的符號(hào)相同(同為?+?或者同為?-?),那么rem(x,y)=mod(x,y);
如果x和y的符號(hào)相反,當(dāng)?shù)玫降挠鄶?shù)結(jié)果的符號(hào)希望跟除數(shù)x一樣,用rem()函數(shù),當(dāng)?shù)玫降挠鄶?shù)結(jié)果的符號(hào)希望跟被除數(shù)y一樣,用mod()函數(shù)。
10 函數(shù)
本函數(shù)用于對二值圖像進(jìn)行數(shù)學(xué)形態(tài)學(xué)操作。
1)bw1=(bw,)對二值圖像應(yīng)用形態(tài)學(xué)操作;
2)bw2=(bw,,n)對二值圖像可以應(yīng)用形態(tài)學(xué)操作n次,n可以是infmatlab在圖像中加標(biāo)記,代表該操作執(zhí)行到圖像不再發(fā)生變化為止。
1)B=sort(A) 對一維或二維數(shù)組進(jìn)行升序排序,并返回排序后的數(shù)組,當(dāng)A為二維時(shí),對數(shù)組每一列進(jìn)行排序。
eg: A=[1,5,3],則sort(A)=[1,3,5]
A=[1,5,3;2,4,1],則sort(A)=[1,4,1;2,5,3]
2)B=sort(A,dim),對數(shù)組按指定方向進(jìn)行升序排序。
dim =1,表示對每一列進(jìn)行排序,dim=2表示對每一行進(jìn)行排序。
3)B=sort(A,dim,mode),其中mode為指定排序模式,mode為""時(shí),進(jìn)行升序
排序,為" "時(shí),進(jìn)行降序排序。
4)[B,I]=sort(A,.....),I為返回的排序后元素在原數(shù)組中的行位置或列位置。
12 計(jì)算結(jié)果可視化函數(shù)大全
1)plot函數(shù)的用法
plot 是繪制二維圖形的最基本函數(shù),它是針對向量或矩陣的列來繪制曲線的。也就是說,使用plot 函數(shù)之前,必須首先定義好曲線上每一點(diǎn)的x 及y 坐標(biāo),常用格式為:
①plot(x),當(dāng)x 為一向量時(shí),以x 元素的值為縱坐標(biāo),x 的序號(hào)為橫坐標(biāo)值繪制曲線。當(dāng)x 為一實(shí)矩陣時(shí),則以其序號(hào)為橫坐標(biāo),按列繪制每列元素值相對于其序號(hào)的曲線,當(dāng)x 為m× n 矩陣時(shí),就有n 條曲線。
②plot(x,y) 以x 元素為橫坐標(biāo)值,y 元素為縱坐標(biāo)值繪制曲線。
③plot(x,y1,x,y2,…) 以公共的x 元素為橫坐標(biāo)值,以y1,y2,…元素為縱坐標(biāo)值繪制多條曲線。
④在繪制曲線圖形時(shí),常常采用多種顏色或線型來區(qū)分不同的數(shù)據(jù)組, 軟件專門提供了這方面的參數(shù)選項(xiàng),我們只要在每個(gè)坐標(biāo)后加上相關(guān)字符串,就可實(shí)現(xiàn)它們的功能。
繪圖參數(shù)表
例:plot(x,y1,‘r+-’,x,y2,‘k*:’);
2)圖形修飾函數(shù)
①grid on (/off) 給當(dāng)前圖形標(biāo)記添加(取消)網(wǎng)絡(luò);
②(‘’) 標(biāo)記橫坐標(biāo);
③(‘’) 標(biāo)記縱坐標(biāo);
④title(‘’) 給圖形添加標(biāo)題;
⑤text(x,y,’’) 在圖形的任意位置增加說明性文本信息;
⑥gtext(‘’) 利用鼠標(biāo)添加說明性文本信息;
⑦axis([]) 設(shè)置坐標(biāo)軸的最小最大值;
3)圖形的比較顯示函數(shù)
在一般默認(rèn)的情況下, 每次使用plot函數(shù)進(jìn)行圖形繪制,將重新產(chǎn)生一個(gè)圖形窗口。但有時(shí)希望后續(xù)的圖形能夠和前面所繪制的圖形進(jìn)行比較。一般來說有兩種方法:
①采用hold on(/off)命令,將新產(chǎn)生的圖形曲線疊加到已有的圖形上;
②采用(m,n,k)函數(shù),將圖形窗口分隔成m*n個(gè)子圖,并選擇第k 個(gè)子圖作為當(dāng)前圖形,然后在同一個(gè)視圖窗口中畫出多個(gè)小圖形。子窗口的序號(hào)按行由上往下,按列從左向右編號(hào)。如果不用指令clf 清除,以后圖形將被繪制在子圖形窗口中。
4)三維曲線圖函數(shù)
與二維圖形相對應(yīng), 提供了plot3 函數(shù),可以在三維空間中繪制三維曲線,它的格式類似于plot,不過多了z 方向的數(shù)據(jù)。plot3 的調(diào)用格式為:
plot3(x1,y1,z1,x2,y2,z2,...)
其中x1,y1,z1,x2,y2,z2,…等分別為維數(shù)相同的向量,分別存儲(chǔ)著曲線的三個(gè)坐標(biāo)值,該函數(shù)的使用方式和plot 類似,也可以采用多種的顏色或線型來區(qū)分不同的數(shù)據(jù)組,只需在每組變量后面加上相關(guān)字符串即可實(shí)現(xiàn)該功能。
5)三維曲面圖函數(shù)
如果要畫一個(gè)三維的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函數(shù)來實(shí)現(xiàn)。
①mesh 函數(shù)為數(shù)據(jù)點(diǎn)繪制網(wǎng)格線,圖形中的每一個(gè)已知點(diǎn)和其附近的點(diǎn)用直線連接。
②surf函數(shù)和mesh 的用法類似matlab在圖像中加標(biāo)記,但它可以畫出著色表面圖,圖形中的每一個(gè)已知點(diǎn)與其相鄰點(diǎn)以平面連接。
為方便測試立體繪圖, 提供了一個(gè)peaks 函數(shù),它可以產(chǎn)生一個(gè)的高斯分布矩陣,其生成方程是:
z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3 *exp(-(x+1).^2-y.^2)
對應(yīng)的圖形是一個(gè)凹凸有致的曲面,包含了三個(gè)局部極大點(diǎn)及三個(gè)局部極小點(diǎn)。
例:
Z=peaks(40);
mesh(Z);
surf(Z);
③在曲面繪圖中,另一個(gè)常用的函數(shù)是 函數(shù),其一般引用格式是:
[X, Y]= (x, y)
其中x 和y 是向量,通過函數(shù)就可將x 和y 指定的區(qū)域轉(zhuǎn)換成為矩陣X 和Y。這樣我們在繪圖時(shí)就可以先用函數(shù)產(chǎn)生在x-y平面上的二維的網(wǎng)格數(shù)據(jù),再以一組z 軸的數(shù)據(jù)對應(yīng)到這個(gè)二維的網(wǎng)格,即可畫出三維的曲面。
6)觀察點(diǎn)(觀看圖形的角度)
允許用戶設(shè)置觀察點(diǎn),其指令是: view(,)
其中方位角是觀察點(diǎn)和坐標(biāo)原點(diǎn)連線在x-y平面的投影和y 軸負(fù)方向的夾角,仰角; 是觀察點(diǎn)與坐標(biāo)原點(diǎn)的連線和x-y平面的夾角。對于這兩個(gè)角度,三維圖形的默認(rèn)值分別是-37.5 和30,二維圖形的默認(rèn)值是0 和90。
7)其他圖形函數(shù)
① 使用對數(shù)坐標(biāo)系繪圖
② 橫坐標(biāo)為對數(shù)坐標(biāo)軸,縱坐標(biāo)為線性坐標(biāo)軸
③ 橫坐標(biāo)為線性坐標(biāo)軸,縱坐標(biāo)為對數(shù)坐標(biāo)軸
④polar 繪制極坐標(biāo)圖
函數(shù)polar(theta,rho)繪制極坐標(biāo)圖形,其中theta 為相角,rho 為其對應(yīng)的半徑。
⑤fill 繪制實(shí)心圖
⑥bar 繪制直方圖
函數(shù)bar(x)可以繪制直方圖,這對統(tǒng)計(jì)或者數(shù)據(jù)采集非常直觀實(shí)用。它共有四種形式:
bar,bar3,barh 和bar3h,其中bar 和bar3 分別用來繪制二維和三維豎直方圖,barh 和bar3h 分別用來繪制二維和三維水平直方圖,調(diào)用格式是:
bar(x,y) 其中x 必須單調(diào)遞增或遞減,y為m*n矩陣,可視化結(jié)果為m 組,每組n 個(gè)垂直柱,也就是把y 的行畫在一起,同一列的數(shù)據(jù)用相同的顏色表示;
bar(x,y,width) (或bar(y,width))指定每個(gè)直方條的寬度,如width>1,則直方條會(huì)重疊,默認(rèn)值為width=0.8;
bar(…,‘’) 使同一組直方條緊緊靠在一起;
bar(…,’stack’) 把同一組數(shù)據(jù)描述在一個(gè)直方條上。
⑦pie 繪制餅圖
函數(shù)pie 用來繪制餅圖,它可以形象地表示出向量中各元素所占比例。其調(diào)用格式是:pie(x) x 中的元素通過x/sum(x)進(jìn)行歸一化,以確定餅圖中的份額;
pie(x,) 向量 和x 元素?cái)?shù)相同,用來指出需要分開的餅片, 中不為零的部分會(huì)被分開。
⑧area 繪制面積圖
函數(shù)area 用來繪制面積圖,面積圖在plot 的基礎(chǔ)上填充x 軸和曲線之間的面積,該圖用于查看某個(gè)數(shù)在該列所有數(shù)的總和中所占的比例。
⑨ 繪制向量場圖
⑩ 繪制階梯圖
sterm 繪制火柴桿圖
8)符號(hào)表達(dá)式繪圖
軟件提供了將表達(dá)式進(jìn)行圖形顯示的功能。完成此功能需調(diào)用fplot函數(shù)和函數(shù)。
①函數(shù)fplot 用來繪制數(shù)學(xué)函數(shù),其調(diào)用格式為: fplot(fun,lims)
其中fun 就是所要繪制的函數(shù),可以是定義函數(shù)的M 文件名,也可以是以x 為變量的可計(jì)算字符串。例如’diric(x,10)’或’[sin(x),cos(x)]’,對于向量x 的每個(gè)元素,函數(shù)fun(x)必須返回一個(gè)行向量。如果fun 返回[f1(x),f2(x),f3(x)],輸入[x1;x2],就會(huì)返回矩陣
f1(x1) f2(x1) f3(x1)
f1(x2) f2(x2) f3(x2)
lims=[XMIN XMAX YMIN YMAX]限定了x,y 軸上的繪圖空間。
② 函數(shù)是簡捷繪圖指令之一,它無需數(shù)據(jù)準(zhǔn)備,直接畫出函數(shù)圖形,基本調(diào)用格式為(f),其中f 是字符串或代表數(shù)學(xué)函數(shù)的符號(hào)表達(dá)式,只有一個(gè)符號(hào)變量,可以是x,缺省情況下x 軸的繪圖區(qū)域?yàn)閇-2pi 2pi],但我們可以用(f,xmin,xmax)或(f,[xmin,xmax])來指定x 的范圍。
9)交互式圖形指令
是一個(gè)比較特殊的圖形指令,用作獲取圖上數(shù)據(jù),例如指令[x,y]=(6) 是從圖形上選取6 個(gè)點(diǎn),此時(shí), 指令將把當(dāng)前圖形調(diào)入前臺(tái),同時(shí)光標(biāo)變?yōu)槭植妫苿?dòng)光標(biāo),使交叉點(diǎn)落在目標(biāo)點(diǎn)上,單擊鼠標(biāo),即可獲得該點(diǎn)數(shù)據(jù)。