Matlab使用length函数获取数组最大长度

4
(2)

之前,古哥给大家分享了Matlab中size函数的使用方法,具体可以参考:《Matlab使用size函数获取目标数组的尺寸》。今天,再给大家分享一个类似的函数,即length。Matlab中length函数可以用于获取数组中最大维度的长度值。即,一个3*7的矩阵,用length函数会得到长度为:7。

本文主要讲解Matlab中length函数的常见用法、语法说明、向量元素数、矩形矩阵的长度、字符串数组、结构体字段的长度。

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
Matlab使用length函数获取数组最大长度

结构体字段的长度

创建一个包含 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多一点。

共计2人评分,平均4

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

本文来自转载,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/program/matlab-function-length.html

发表评论

登录后才能评论
本站APP
本站APP
分享本页
返回顶部