zoukankan      html  css  js  c++  java
  • [转]matlab中squeeze函数的用法,numel的用法

    squeeze的作用是移除单一维。

    如果矩阵哪一个维数是1,B=squeeze(A)就将这个维数移除。

    考虑2-by-1-by-3 数组Y = rand(2,1,3). 这个数组有单一维 —就是每页仅仅一列:

    B=squeeze(A)
    返回和矩阵A相同元素但所有单一维都移除的矩阵B,单一维是满足size(A,dim)=1的维。
    squeeze命令对二维数组是不起作用的;
    如果A是一行或列向量或一标量(1*1)值,则B=A。

    matlab

    示例:
    Y =

    Y(:,:,1) = Y(:,:,2) =
    0.5194 0.0346
    0.8310 0.0535

    Y(:,:,3) =
    0.5297 matlab
    0.6711

    命令Z = squeeze(Y)结果是2-by-3矩阵:

    Z =
    0.5194 0.0346 0.5297
    0.8310 0.0535 0.6711
    考虑1-by-1-by-5数组mat=repmat(1,[1,1,5]). 这个数组每页仅仅一标量值:

    mat =

    mat(:,:,1) =
    1
    mat(:,:,2) =

    matlab



    1
    mat(:,:,3) =
    1
    mat(:,:,4) =

    1
    mat(:,:,5) =

    1

    命令squeeze(mat)结果为5-by-1矩阵:

    squeeze(mat)

    ans =

    1
    1
    1
    1
    1

    size(squeeze(mat))

    ans =

    5 1

    numel
    函数功能:该函数用于计算数组中满足指定条件的元素个数
    语法格式:n=numel(A)
    返回数组A中元素的个数。
    n=numel(A,index1,index2,...,indexn)
    返回A(index1,index2,...,indexn)中元素的个数,中indexi可以是切片运算、算术表达式逻辑表达式等。
    当一个表达式产生一个由逗号隔开的列表(包括形如A{index1, index2, ..., indexn}这种大括号括起来的索引列表,或者使用成员操作符进行结构体成员访问),MATLAB软件就会隐式调用numel内建函数。
  • 相关阅读:
    常用命令之mongodb
    常用之juc
    常用命令
    WSL2错误Error 0x1bc解决
    sudo:Unable to stat '/etc/sudoers': Permission Denied 解决办法
    CPIO写入ROOTFS到磁盘分区
    getElementsByClassName
    PetaLinux通过fw_printenv访问u-boot中的环境变量
    1. 两数之和
    find xargs grep查找文件及文件内容
  • 原文地址:https://www.cnblogs.com/rong86/p/3551420.html
Copyright © 2011-2022 走看看