matlab 高级函数 —— circshift、squeeze
2024-08-31 23:00:09
circshift:顾名思义,循环移动,循环的意义在于,移出的数据不丢失,而是来到队列的首部位置,也即其实是将原始序列视为一种圆环。
1. 基本用法
默认为右移。
- Y = circshift(A,K)
- Y = circshift(A,K,dim)
circshift(1:10, 3)
8 9 10 1 2 3 4 5 6 7
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]);
end
a
此时要求长度必须为奇数,而不能为偶数,当长度为偶数时:
n = 1
a = 5 0 6 0 7 0 8 0
3. squeeze
移除 singleton 的维度,所谓 singleton dimension,是指 size(A, dim) = 1
的 dim
。
>> y = rand(2, 1, 3)
% size(y, 2) == 1
y(:,:,1) =
0.8147
0.9058
y(:,:,2) =
0.1270
0.9134
y(:,:,3) =
0.6324
0.0975
>> z = squeeze(y)
% 2, 1, 3 ⇒ 2, 3
% 1, 2, 3 ⇒ 2, 3
z =
0.8147 0.1270 0.6324
0.9058 0.9134 0.0975
最新文章
- 最小生成树 prime poj1258
- jQuery能做些什么
- PHP中fopen,file_get_contents,curl函数的区别
- 通过Sql语句导数据
- JamCam创业故事:辞掉工作,去开发一个应用
- Binary Search Tree BST Template
- fragment 中利用spinner实现省市联动
- Impala源代码分析---1
- vimtutor基础教程
- php一致性hash算法的应用
- Eruda 一个被人遗忘的移动端调试神器
- neutron是一个超级脚本的理解
- 20165232 学习基础和c语言基础调查
- VS2015 代码片段整理
- dict()的另一种用法
- UEFI和GPT下硬盘克隆后的BCD引导修复
- 零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce(转)
- 费马大定理以及求解a^2+b^2=c^2的奇偶数列法则
- 前端组件化Polymer入门教程(5)——生命周期
- 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)
热门文章
- GCJ 2009 Round 2 Problem A. Crazy Rows
- 驱动学习3-make
- [求助]linux同一目录可否挂载多个数据盘?
- 第二次作业:对Github的初步学习应用(四则运算的自动生成C#实现)
- linux终端下一些“风骚”的按键操作及Linux终端命令
- TF卡电压 SD卡引脚
- position:absolute和margin:auto 连用实现元素水平垂直居中
- SoC中的IP模块学习
- [Angular 2] Set Values on Generated Angular 2 Templates with Template Context
- oracle 重置序列从指定数字开始的方法详解