size

3 Ansichten (letzte 30 Tage)
skyimager
skyimager am 31 Mai 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 Kommentar
Oleg Komarov
Oleg Komarov am 31 Mai 2012
For future reference whenver you don't know wha rt a function does, doc size, or use F1

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 31 Mai 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.

Weitere Antworten (1)

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

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by