PDA

查看完整版本 : 【求助】单元型变量中的length和ndims。


anonymous17
2008-03-06, 22:02
初学,请各位帅哥靓妹不要见笑,多多帮助。谢谢了。
请问m*n*....矩阵的length是不是m,n,....中最大的呢?
a=[1 2 3;2 3 4;3 5 6];
b=[1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 8 9 9 10];
c='asdsdasdaf';
d=['1','a','3'];
e=[1:4];
f='122r13f';
A={a,b,c;d,e,f};
B=cellfun('ndims',A);
为什么返回值都是2呢?
a不是3*3吗?。。。。

初学者的菜鸟问题,请多多包涵,谢谢,多谢解答。

yesman
2008-03-07, 10:09
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.

意思是length=MAX(SIZE(X)),不清楚size和max的话看下面:
help size
SIZE Size of array.
D = SIZE(X), for M-by-N matrix X, returns the two-element
row vector D = [M, N] containing the number of rows and columns
in the matrix. For N-D arrays, SIZE(X) returns a 1-by-N
vector of dimension lengths. Trailing singleton dimensions
are ignored.

For vectors, MAX(X) is the largest element in X. For matrices,
MAX(X) is a row vector containing the maximum element from each
column. For N-D arrays, MAX(X) operates along the first
non-singleton dimension.

yesman
2008-03-07, 10:10
对于你的问题:
>> a=[1 2 3;2 3 4;3 5 6];
>> length(a)

ans =

3

>> length(b)

ans =

20

>> length(c)

ans =

10
......

anonymous17
2008-03-07, 11:24
非常感谢您的回复,后面的那个ndims我不清楚,有劳再解答一下,谢谢。。。。。。。