zoukankan      html  css  js  c++  java
  • MATLAB中在一个三维矩阵中如何提取出一个二维矩阵,使用permute

     1 >> a=rand(2,3,4);
     2 >> a
     3 
     4 a(:,:,1) =
     5 
     6     0.0878    0.4073    0.6183
     7     0.6821    0.6563    0.3876
     8 
     9 
    10 a(:,:,2) =
    11 
    12     0.2322    0.2636    0.3777
    13     0.7890    0.8359    0.1458
    14 
    15 
    16 a(:,:,3) =
    17 
    18     0.4592    0.0751    0.1429
    19     0.6121    0.6748    0.8044
    20 
    21 
    22 a(:,:,4) =
    23 
    24     0.7069    0.5983    0.2846
    25     0.7527    0.2629    0.0409
    26 
    27 >> b=permute(a(:,1,:),[1 3 2]); % (:,1,:)表示取3列中(2,3,4)的第一个,[1 3 2]表示按矩阵变为[2,4,3];
    28 >> b
    29 
    30 b =
    31 
    32     0.0878    0.2322    0.4592    0.7069
    33     0.6821    0.7890    0.6121    0.7527

    函数功能:在MATLABFreeMat中,该函数按指定的向量来重新排列一个数组

    语法格式:
    B = permute(A,order)
    按照向量order指定的顺序重排A的各维。B中元素和A中元素完全相同。但由于经过重新排列,在A、B访问同一个元素使用的下标就不一样了。order中的元素必须各不相同。
     对b=permute(a(:,1,:),[1 3 2]);进行解释:(:,1,:)表示取3列中(2,3,4)的第一个,[1 3 2]表示按矩阵变为[2,4,3];
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Vim插件列表
    比nerdtree更好的文件浏览器:vimfiler
    在不同的窗口之间跳转
    unite
    ARMv7 .n和.w指令宽度指示符后缀
    Mybatis之分表设计与分表插入
    thymeleaf之菜单树
    管理后台菜单查询
    Linux下Tomcat重新启动
    网页缓存清除
  • 原文地址:https://www.cnblogs.com/yuzhuwei/p/4217811.html
Copyright © 2011-2022 走看看