一起来学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的更多相关文章

  1. matlab学习笔记11_2高维数组操作 squeeze,ind2sub, sub2ind

    一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze ...

  2. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  3. 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 ...

  4. matlab学习笔记10_5 通用字符串操作和比较函数

    一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...

  5. 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作

    import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...

  6. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  7. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  8. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  9. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

随机推荐

  1. ANDROID - 打包和引用本地的AAR

        打包方法: 打开Gradle面板 Gradle Projects: 选择Library对应的Gradle Task,比如:":testsdk": 依次 Tasks > ...

  2. js事件3-事件对象

    对于每次点击一个事件,都会产生一个事件对象,这个事件对象中包含了这个事件的很多信息 我们来看看事件对象具体有哪些信息 Object.onclick=function(e){ ..... }其中的参数e ...

  3. iOS 开发,相关网址

    iOS 开发,相关网址 说明 网址 注册开发者 https://developer.apple.com/cn/programs/enroll/ 未付费688个人开发账号真机调试测试教程 http:// ...

  4. 学习:SLT_string容器

    前言:这个学了感觉没多大用,自己只需要了解就好,忘记了可以参考以下网站的示例 参考网站:https://github.com/AnkerLeng/Cpp-0-1-Resource/blob/maste ...

  5. OOO的CSS

    应ooo要求 寻找他手写一千年的css的继承人 html { background:#f7f7f7 url(images/bg-pattern.jpg) } body { margin:; paddi ...

  6. nuxt项目服务端渲染应用部署、使用pm2守护进程及遇到的问题处理

    服务端渲染应用部署应该先编译构建,然后再启动 Nuxt 服务,可通过以下两个命令来完成: nuxt build nuxt start 我们已经在pakage.json里配置好script命令 { &q ...

  7. nginx 访问控制之 认证

    安装httpd yum install -y httpd 使用htpasswd生产密码文件 htpasswd -c /usr/local/nginx/conf/htpasswd aming# -c 表 ...

  8. Chrome应用商店打不开的问题

    方法一.谷歌访问助手(推荐) 谷歌访问助手是一款免费的谷歌代理插件,不用配置即可打开Chrome应用商店,而且速度很不错. 1.根据自己使用的浏览器点击对应版本的插件.详细安装都在下面链接中. 下载地 ...

  9. MySQL 是如何利用索引的

    阅读本文大概需要 4 分钟. 一.前言 在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑.例如: MySQL 在遇到范围查询条件的时候就停止匹配了 ...

  10. select readonly 不能看到其他选项解决方案

    在html中是select readonly后,依然可以下拉选择,不想做disabled增加隐藏域,下面提供两种解决方案 解决方案1: [javascript] view plain copy     ...