Matlab进阶函数详解:circshift与squeeze

 

1. 基本用法

 
  • Y = circshift(A,K)
  • Y = circshift(A,K,dim)

登录后复制 circshift(1:10, 3) 8 9 10 1 2 3 4 5 6 71.2.


2. 简单应用

将 1, 2, 3, 4, 5, 6, 7 变为 1, 5, 2, 6, 3, 7, 4,也即形成犬牙交错的形式:

登录后复制 n = 7;a = zeros(1, n);for i = 1:n, a(i) = i; a = circshift(a, [0, -1]);enda1.2.3.4.5.6.7.


此时要求长度必须为奇数,而不能为偶数,当长度为偶数时:

登录后复制 n = 1a = 5 0 6 0 7 0 8 01.2.


3. squeeze

移除 singleton 的维度,所谓 singleton dimension,是指 ​​size(A, dim) = 1​​​ 的 ​​dim​​。

登录后复制 >> y = rand(2, 1, 3) % size(y, 2) == 1y(:,:,1) = 0.8147 0.9058y(:,:,2) = 0.1270 0.9134y(:,:,3) = 0.6324 0.0975>> z = squeeze(y) % 2, 1, 3 ⇒ 2, 3 % 1, 2, 3 ⇒ 2, 3z = 0.8147 0.1270 0.6324 0.9058 0.9134 0.09751.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空