日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

circshift 函数详解

發(fā)布時(shí)間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 circshift 函数详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

circshift函數(shù)是matlab中表示循環(huán)移位的函數(shù),調(diào)用形式如下:

? ? B= circshift(A,K,m);

輸入?yún)?shù):A表示待移位的矢量或矩陣;

? K表示所移位數(shù),可以是數(shù)字,也可以是二維數(shù)組,若是數(shù)字則可以和m協(xié)同作用來決定是行移位還是列 ? ? ? ? ? ? ? ? ? ? 移位

? m當(dāng)K是數(shù)字時(shí),m用來決定是行移位還是列移位。默認(rèn)m是1,當(dāng)m=1時(shí)表示列移位,當(dāng)m=2時(shí)表示行移 ? ? ? ? ? ? ? ? ? ?位

circshift是一個(gè)循環(huán)移位函數(shù),A和B分別表示同維度的矩陣或者矢量而K表示移位參數(shù),可以是一個(gè)數(shù)字(可正可負(fù)),也可以是一個(gè)二維數(shù)組。下面用例子來表示cirshift 的用法。

首先假設(shè)A是一個(gè)3*3的數(shù)組:

123
456
789
若B=circshif(A,1)時(shí),結(jié)果如下

789
123
456
也就是說,當(dāng)K=1時(shí),對(duì)每列元素進(jìn)行循環(huán)移位,將1,4,7變成7,4,1;2,5,8變成8,2 , 5;3,6,9變成9,3,6也就是說每列元素逆循環(huán)移位,向前移動(dòng)1位。

而當(dāng)B=circshif(A,-1)時(shí),結(jié)果如下:

456
789
123
即當(dāng)K=-1時(shí),對(duì)每列元素進(jìn)行順時(shí)針移位,也就是說直接后移。

綜上:

當(dāng)K>0時(shí),每列元素逆時(shí)針(向前)移位,當(dāng)K<0時(shí),順時(shí)針(向后)移位。

那如果K的值比A的行數(shù)或列數(shù)大呢???如果K的值大于行數(shù)或者列數(shù),則移位的結(jié)果與K對(duì)行數(shù)或列數(shù)取余所得余數(shù)的結(jié)果相同。

那么怎么進(jìn)行行移位呢??

本函數(shù)給出兩種方法,一個(gè)是K值不變,直接令m=2則表示行移位。移位規(guī)律與列移位相同。

第二種方法也就是將K變成數(shù)組K=[0,k];k表示移位索引。

如果同時(shí)對(duì)矩陣進(jìn)行行和列的移位則令K= [col,row],其中col表示列位移,row表示行位移。


總結(jié)

以上是生活随笔為你收集整理的circshift 函数详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。