之前,古哥给大家分享了Matlab
中size
函数的使用方法,具体可以参考:《Matlab使用size函数获取目标数组的尺寸》。今天,再给大家分享一个类似的函数,即length
。Matlab
中length
函数可以用于获取数组中最大维度的长度值。即,一个3*7的矩阵,用length函数会得到长度为:7。
本文主要讲解Matlab
中length
函数的常见用法、语法说明、向量元素数、矩形矩阵的长度、字符串数组、结构体字段的长度。
下面,我们首先给出length
函数的帮助文档如下:
>> help length
length Length of vector.
length(X) returns the length of vector X. It is equivalent
to MAX(SIZE(X)) for non-empty arrays and 0 for empty ones.
很明显,它还等同于size
返回值中的最大值。
常见用法
L = length(X)
语法说明
L = length(X)
返回 X 中最大数组维度的长度。对于向量,长度仅仅是元素数量。对于具有更多维度的数据,长度为max(size(X))
。空数组的长度为零。
向量元素数
求出区间[5,10]
中的均匀分布向量的长度。
v = 5:10
得到如下输出结果:
v =
5 6 7 8 9 10
L = length(v)
得到如下输出结果:
L =
6
矩形矩阵的长度
求出一个由零组成的3×7
矩阵的长度。
X = zeros(3,7);
L = length(X)
得到如下输出结果:
L =
7
字符串数组
创建一个字符串数组并计算其长度,即每行中的元素数。
X = ["a" "b" "c"; "d" "e" "f"]
我在Matlab 2016
中发现,不支持双引号,于是换成单引号,代码如下:
X = ['a' 'b' 'c'; 'd' 'e' 'f']
得到如下输出结果:
X =
abc
def
L = length(X)
得到如下输出结果:
L =
3
结构体字段的长度
创建一个包含Day
和Month
对应的字段的结构体。使用structfun
函数将length
应用于各个字段。
S = struct('Day',[1 13 14 26],'Month',{{'Jan','Feb', 'Mar'}})
得到如下输出结果:
S =
Day: [1 13 14 26]
Month: {'Jan' 'Feb' 'Mar'}
L = structfun(@(field) length(field),S)
得到如下输出结果:
L =
4
3
实际Matlab
使用中,我们还是使用size
多一点。
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/2428.html