size

3 次查看(过去 30 天)
skyimager
skyimager 2012-5-31
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 个评论
Oleg Komarov
Oleg Komarov 2012-5-31
For future reference whenver you don't know wha rt a function does, doc size, or use F1

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2012-5-31
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.

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by