• [转]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内建函数。
  • 相关阅读:
    day03 bs4解析库
    day02—selenium库
    day01爬虫三部曲
    IIC SPI UART通信方式的区别
    五大类程序设计模式
    套接字编程基础
    主机字节序和网络字节序转换
    位运算
    ARM体系结构的特点
    static关键字的作用
  • 原文地址:https://www.cnblogs.com/rong86/p/3551420.html
Copyright © 2020-2023  润新知