size

7 views (last 30 days)
skyimager
skyimager on 31 May 2012
VAR_START =
9 12 14 17 24 31 34 37 40 43 46 49 52 55 58 61 64
>> NVAR = size(VAR_START)
NVAR =
1 17
What is the function of 'size' here???? why is it giving 1 17...???? I am srry bt i cannot understand!!!
  1 Comment
Oleg Komarov
Oleg Komarov on 31 May 2012
For future reference whenver you don't know wha rt a function does, doc size, or use F1

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 31 May 2012
That's just the way size works. It's kind of like they expect size() to be used with arrays that are 2 dimensions or more. Get used to it. It says your "array" is 1 row by 17 columns. If you want just the "17" and not the "1" and you know in advance that you have a 1 dimensional array, then use length() function instead of the size() function. The length() function will give you 17 - a single number - without it being a 2 element result with the unhelpful "1" as the first element. length() gives you the length of the longest dimension, which is kind of confusing, so I use length() for 1D arrays (and only for 1D arrays), and size() for 2D or higher dimensional arrays.

More Answers (1)

Honglei Chen
Honglei Chen on 31 May 2012
Because VAR_START is a 1x17 vector, i.e., number of rows is 1 and number of columns is 17

Categories

Find more on Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!