您的位置:首页 > 编程语言 > MATLAB

Matlab中numel的用法

2016-07-05 22:49 555 查看
数组中的元素个数或下标数组表达式
语法:

n = numel(A)

n = numel(A, index1, index2, ... indexn)
描述:
n = numel(A)
返回的元素数,n,在阵列A。

n =numel(A, index1, index2, ... indexn)
返回在A(index1, index2, ..., indexn)下标元素的数目n.为了处理可变数目的参数,numel通常与头函数写入= numel(A, varargin),varargin是一个单元的数组元素index1, index2, ... indexn

MATLAB软件隐式调用numel内置函数的表达时,会产生一个以逗号分隔的列表。这包括括号的索引(即,A{index1,index2,...,indexN}),和点索引(即,A.fieldname) 

实例:
MATLAB软件隐式调用numel内置函数的表达时,会产生一个以逗号分隔的列表。这包括括号的索引(即,A{index1,index2,...,indexN}),和点索引(即,A.fieldname) 
创建一个4-4-2的矩阵。 numel计数32个元素在矩阵中。

a =magic(4);
a(:,:,2)= a'
 
a(:,:,1)=
    16    2     3    13
     5   11    10     8
     9    7     6    12
     4   14    15     1
 
a(:,:,2)=
    16    5     9     4
     2   11     7    14
     3   10     6    15
    13    8    12     1
 
numel(a)
ans =
    32
提示
重要的是要注意numel的重要意义方面的重载subsrefsubsasgn函数.在的情况下的重载subsref函数的括号和点索引(如最后一段中所述),numel被用来计算预期的输出的数量(nargout)从subsref返回.对于重载subsasgn函数,numel被用来计算预期的输入的数目(nargin)被分配使用subsasgn.nargin为重载值subsasgn函数返回的值numel加2(一个被分配到的变量,和一个为结构数组的下标)。

作为一个类别设计师,你必须确保该值n通过内置的返回numel函数与该对象的类设计功能是一致的。如果n无论是从不同nargout为重载subsref函数或
nargin为重载subsasgn函数,那么你需要重载numel返回n的值是一致的类subsref和subsasgn函数.否则,MATLAB调用这些函数时会产生错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: