专栏首页人工智能与演化计算成长与进阶matlab学习笔记11_3 高维数组处理 filp, shiftdim, size, permute, ipermute

matlab学习笔记11_3 高维数组处理 filp, shiftdim, size, permute, ipermute

本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!

本文很多摘录自图书资料,不做任何商业用途,仅做技术分享,侵权删除!请不要放弃自己的理想和道路,加油!!

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

本文分享自微信公众号 - DrawSky(wustcsken),作者:CloudXu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用 urllib.request.urlretrieve 函数下载文件

    urlretrieve(url, filename=None, reporthook=None, data=None)

    DrawSky
  • np.random.rand均匀分布随机数和np.random.randn正态分布随机数函数使用方法

    , 可以使用语句sigma * np.random.randn(...) + mu

    DrawSky
  • [DeeplearningAI笔记]序列模型2.1-2.2词嵌入word embedding

    吴恩达老师课程原地址: https://mooc.study.163.com/smartSpec/detail/1001319001.htm

    DrawSky
  • 小数据:理论和架构 | TW洞见

    今日洞见 文章作者及图片来自ThoughtWorks:熊节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站...

    ThoughtWorks
  • 最新维度建模学习笔记

    导读:小丘哥哥最近学习维度建模,整理了一些学习心得,跟大家一起分享一下,相互学习,共同进步,感觉好文章底部点个赞,鼓励一下小丘哥哥哈哈。

    Lenis
  • 量化、傅里叶变换、风险模型及其他

    世界有很多角度,而我们却只能看到一个,并深陷其中,自信不已。每一个角度有不同的维度组合来观察世界。

    钱塘小甲子
  • 大数据分析基础——维度模型

    维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。

    高广超
  • 《数据仓库工具箱》- 第三章零售业务中的知识点汇总

    维度定义的是谁,什么时候,在哪的问题,作为聚合查询中的查询条件,分组条件,排序条件

    Meet相识
  • 【推荐】从设计到数据——写给非数据人的数据入门

    一. 一段经历,一点心得 ? 一直追我博客的人想必是清楚我之前做交互设计,然后去轮岗过行业运营,然后突然就开始做产品经理了。我也觉得奇怪的是,上次发了一个招聘启...

    小莹莹
  • 干货笔记,数据仓库工具箱

    《数据仓库工具箱—维度建模的完全指南》是数据仓库建模方面的经典著作, 1996年第一版出版被认为是数据仓库方面具有里程碑意义的事件。作者kimballl是数据仓...

    肉眼品世界

扫码关注云+社区

领取腾讯云代金券