电竞比分网-中国电竞赛事及体育赛事平台

分享

matlab學習筆記函數(shù)bsxfunrepmat

 筱肆 2014-09-11

函數(shù)bsxfun

【功能描述】兩個數(shù)組間元素逐個計算.

【應用場合】當我們想對一個矩陣A的每一列或者每一行與同一個長度相等的向量a進行某些操作(比較大小,乘除等)時,我們只能用循環(huán)方法或者利用repmat函數(shù)將要操作的向量a復制成和A一樣尺寸的矩陣,進而進行操作。從MATLAB R2007a開始,再遇到類似的問題時,我們有了簡潔高效的方法,即利用bsxfun函數(shù)。
【函數(shù)描述】C=bsxfun(fun,A,B):兩個數(shù)組間元素逐個計算,fun是函數(shù)句柄或者m文件,也可以為如下內(nèi)置函數(shù) 
         @plus 加 
         @minus 減 
         @times 數(shù)組乘 
         @rdivide 左除 
         @ldivide 右除 
For example: 如何將一個矩陣的每行或每列元素分別擴大不同的倍數(shù)?如[1 2 3;4 5 6 ;7 8 9],第一列元素乘以1,第二列元素以2,第三列元素乘以4。
利用bsxfun函數(shù),可以給出下列代碼:

a = [1,2,3;4,5,6;7,8,9];
acol = bsxfun(@times,a,[1 2 4])

 

 

Matlab中repmat函數(shù)用法

復制和平鋪矩陣
函數(shù) repmat
格式 B = repmat(A,m,n)       %將矩陣A復制m×n塊,即B由m×n塊A平鋪而成。
B = repmat(A,[m n])      %與上面一致
B = repmat(A,[m n p…])   %B由m×n×p×…個A塊平鋪而成
repmat(A,m,n)           %當A是一個數(shù)a時,該命令產(chǎn)生一個全由a組成的m×n矩陣。

B=repmat(A,m,n):把矩陣A復制n*m份,并堆疊構(gòu)成矩陣B,矩陣B的大小為[size(A,1)*m, size(A,2)*n]。

 

 


 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多