matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute
一起来学matlab-matlab学习笔记11
11_3 高维数组处理和运算
filp, shiftdim, size, permute, ipermute
觉得有用的话,欢迎一起讨论相互学习~Follow Me
filp
- 翻转元素顺序
语法
B = flip(A)
B = flip(A,dim)
说明
B = flip(A) 返回的数组 B 具有与 A 相同的大小,但元素顺序已反转。B 中重新排序的维度取决于 A 的形状:
如果 A 为向量,flip(A) 将沿向量的长度方向反转元素顺序。
如果 A 为矩阵,flip(A) 将反转每列元素的顺序。
如果 A 为 N 维数组,flip(A) 将按 A 的大小值不等于 1 的首个维度上进行运算。
B = flip(A,dim) 沿维度 dim 反转 A 中元素的顺序。例如,如果 A 为矩阵,flip(A,1) 将反转每一列中的元素,flip(A,2) 将反转每一行中的元素。
翻转字符向量
A = 'no word, no bond, row on.';
B = flip(A)
B =
'.no wor ,dnob on ,drow on'
翻转列向量
A = [1;2;3];
B = flip(A)
B = 3×1
3
2
1
翻转矩阵

翻转元胞数组

输入参数

shiftdim
- 移动数组维度
语法
B = shiftdim(A,n)
- B = shiftdim(A,n) 将数组 A 的维度移动 n 个位置。当 n 为正整数时,shiftdim 向左移动维度;当 n 为负整数时,向右移动维度。例如,如果 A 是 2×3×4 数组,则 shiftdim(A,2) 返回 4×2×3 数组。
B = shiftdim(A)
- B = shiftdim(A) 返回数组,其元素与 A 相同,但删除了前面的长度为 1 的维度。
[B,m] = shiftdim(A)
- [B,m] = shiftdim(A) 还返回删除的长度为 1 的维度的数量。
四维矩阵
- 创建一个 4×2×3×5 数组。将维度向左移动 2 个位置,使前两个维度长度绕回到最后两个维度。
A = rand(4,2,3,5);
B = shiftdim(A,2);
size(B)
ans = 1×4
3 5 4 2
- 将维度向右移动 2 个位置,使前面 2 个维度的长度为 1。 向右移动不会将维度长度绕回。
C = shiftdim(A,-2);
size(C)
ans = 1×6
1 1 4 2 3 5
移动矩阵维度
- 计算 5 维数组 A,并删除前面的长度为 1 的维度。shiftdim 函数将移动 2 个维度,并返回三维数组 B。
A = rand(1,1,3,2,4);
[B,nshifts] = shiftdim(A);
nshifts
nshifts = 2 % 表示被删除的维度的个数
size(B)
ans = 1×3 % 表示被删除的维度的值
3 2 4
将 B 的维度向左移动两次。
C = shiftdim(B,2);
size(C)
ans = 1×3
4 3 2
将 C 的维度向右移动一次。
D = shiftdim(C,-1);
size(D)
ans = 1×4
1 4 3 2
size
- 获取矩阵形状大小
permute
- 置换数组维度
语法
- B = permute(A,dimorder)
说明
- B = permute(A,dimorder) 按照向量 dimorder 指定的顺序重新排列数组的维度。例如,permute(A,[2 1]) 交换矩阵 A 的行和列维度。因为在矩阵中第一维度是行数,第二个维度是列数
三维数组
- 创建一个342数组并对其进行置换,交换第一个维度和第三个维度,从而得到243数组

ipermute
- 逆置换数组维度
语法
- A = ipermute(B,dimorder)
说明
A = ipermute(B,dimorder) 按照向量 dimorder 指定的顺序重新排列数组 B 的维度,使得 B = permute(A,dimorder)。 逆置换 A 是满足如下条件的数组:当您使用相同的维度顺序对其进行置换时,结果等于原始数组 B。
即A置换成为B,B通过逆置换返回A

matlab学习笔记11_3高维数组操作 filp, shiftdim, size, permute, ipermute的更多相关文章
- matlab学习笔记11_2高维数组操作 squeeze,ind2sub, sub2ind
一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze ...
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...
- matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size
一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...
- matlab学习笔记10_5 通用字符串操作和比较函数
一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...
- 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作
import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- 树莓派学习笔记——使用文件IO操作GPIO SysFs方式
0 前言 本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...
随机推荐
- dfs 解决(隐式)图搜索问题
132. 单词搜索 II 中文 English 给出一个由小写字母组成的矩阵和一个字典.找出所有同时在字典和矩阵中出现的单词.一个单词可以从矩阵中的任意位置开始,可以向左/右/上/下四个相邻方向移动. ...
- PHP中的匿名类
许久不练,要写起来. <?php //匿名类, 同样可以使用继承,接口,特性 //内部匿名类使用外部类的方法和属性,通过继承或构造方法传参 $object = new class { publi ...
- springboot ResponseEntity<byte[]> 下载文件 byte 都变成base64
因为spring boot消息转换器 ,全部将数据转换为json格式,包括文件的byte数据 关于spring boot 的消息转换器见:https://www.jianshu.com/p/ffe56 ...
- POJ 3322 Bloxorz
#include<cstring> #include<algorithm> #include<iostream> #include<cstdio> #i ...
- ORM概述(对象关系映射)
ORM概述: ORM(Object-Relational Mapping)表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到加你对象与数据库 ...
- 26、pathlib文件系统模块(了解)
一.pathlib库官方定义 pathlib 是Python内置库,Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径).path ...
- Reducetask机制
Reduce大致分为copy.sort.reduce三个阶段,重点在前两个阶段.copy阶段包含一个eventFetcher来获 取已完成的map列表,由Fetcher线程去copy数据,在此 ...
- C++将模板的声明和定义放置在同一个头文件里
1. 一个类: 头文件用于保存类的声明:定义文件保存类的实现. 2. 分离编译模式: 允许在一个编译单元(.cpp文件)中定义函数.类型.类对象等,然后在另一个编译单元中引用它们.编译器处理完所有 ...
- 浏览器正在等待locatehost的响应
1.问题描述 在进行了几次增删改查操作后,浏览器显示浏览器正在等待locatehost的响应: 2.错误原因: 对数据库为关闭相应的资源. 3.解决方案: 关闭JDBC开启的资源:
- cogs 944. [東方S3] 藤原妹红
二次联通门 : cogs 944. [東方S3] 藤原妹红 /* cogs 944. [東方S3] 藤原妹红 最小生成树 + 树形dp 首先对原图跑最下生成树 后建出一棵树 在树上进行dp 先走到叶子 ...