Hi . what is the difference between numel() and length() of a given vector ?

340 views (last 30 days)
what is the difference between numel() and length() of a given vector ?

Accepted Answer

KSSV
KSSV on 6 Oct 2021
Edited: KSSV on 6 Oct 2021
numel gives you total number of elements present in the array. i.e. it is product of result of size function.
A = rand(10,3) ;
numel(A)
ans = 30
size(A,1)*size(A,2)
ans = 30
length gives you maximum number of size or which ever is dominant along row and column.
A = rand(10,3) ;
length(A)
ans = 10
size(A,1)
ans = 10
%
B = A' ;
length(B)
ans = 10
size(B,2)
ans = 10
  2 Comments
Stephen23
Stephen23 on 6 Oct 2021
Edited: Stephen23 on 6 Oct 2021
Indeed, LENGTH gives the size along the longest dimension, but not just rows or columns:
length(nan(2,3,4))
ans = 4
I have never seen anyone actually make use of this "feature".
KSSV
KSSV on 6 Oct 2021
Edited: KSSV on 6 Oct 2021
@Stephen yes...good point..forgot to consider multi dimensions.

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!