基於C 的circshift 函式詳解

2021-08-31 16:02:51 字數 1643 閱讀 5313

circshift函式是matlab中表示迴圈移位的函式,呼叫形式如下:b= circshift(a,k,m);

輸入引數解釋如下:

假設a是乙個3*#的陣列,其具體如下所示:

若b=circshif(a,1)時,結果如下:

當b=circshif(a,-1)時,結果如下:

(1)三個引數,影象的型別為mat

void circshift(mat& src, int downshift, int rightshift)

} //形成最終結果

dst.copyto(src);

}

(2)兩個引數,影象型別為matrix

matrix matlab2c::circshift(matrix& a,int downshift)  //n為正順時針,n為負時針

{ downshift = ((downshift%a.row)+a.row)%a.row; //兩次%一定能化成正數餘數

matrix p(a.row,a.column);

for (int i=0;i(3)三個引數,影象型別為matrix

matrix matlab2c::circshift(matrix& a,int downshift,int rightshift)

{ downshift = ((downshift%a.row)+a.row)%a.row; //兩次%一定能化成正數餘數

rightshift = ((rightshift%a.column)+a.column)%a.column; //兩次%一定能化成正數餘數

matrix p(a.row,a.column);

for (int i=0;i(4)三個引數,影象型別為cmatrix

cmatrix matlab2c::circshift(cmatrix& a,int downshift) //n為正順時針,n為負時針

{ downshift = ((downshift%a.row)+a.row)%a.row; //兩次%一定能化成正數餘數

cmatrix p(a.row,a.column);

for (int i=0;i(5)三個引數,影象型別為cmatrix

cmatrix matlab2c::circshift(cmatrix& a,int downshift,int rightshift)

{ downshift = ((downshift%a.row)+a.row)%a.row; //兩次%一定能化成正數餘數

rightshift = ((rightshift%a.column)+a.column)%a.column; //兩次%一定能化成正數餘數

cmatrix p(a.row,a.column);

for (int i=0;i

基於函式的索引 建立基於函式的索引

基於函式的索引 1基於函式的索引是常規的b樹索引。2該索引存放的資料是由表中的資料應用函式後得到的,而不是直接存放表中的資料本身。3如果查詢條件包含與索引相同的函式,就可以使用基於函式的索引,提高查詢速度 舉例 測試表 create table student2 sno varchar2 10 pr...

C 建構函式的幾個難點(基於C 11)

快要有乙個月沒有更新部落格了,是時候再動一動筆啦!因為最近在學習c 在學習過程中看了好多書,也在實際訓練中遇到了一些問題。所以在接下來的時間裡,應該會對c 裡自己遇到的一些難點寫幾篇專題,就當是為自己梳理鞏固知識啦!我們都知道所謂建構函式就是類用來初始化各個資料成員的 非靜態 如果成員都沒初始化好,...

c語言基於stdarg h的可變引數函式的用法

在開始學習c語言的函式的時候,我們就知道函式的引數個數應該是在函式宣告的時候就指定的,這一點我們沒有任何疑問。但是不知道大家有沒有注意到我們的printf 函式,他的函式引數理論上並不是確定的,而是隨著ehlphjwz匹配字串中的格式控制符的個數控制的。其實當時也沒有程式設計客棧注意到這一點,到是最...