matlab中如何计算二维数组大小?

如有一未知大小的数组A(M,N),有什么函数能求出M,N的值不?
[M,N]=size(mk2);%mk2是二维数组(已知其大小为16*8)
??? Indexing cannot yield multiple results.

这个问题是怎么回事?

计算二维矩阵的大小有好几种方法,比如size,numel,lenth等等。但这几个函数有各有不同。
[a,b]=size(A)的计算结果是a表示矩阵A的行数,b表示矩阵A的列数。
s=numel(A)的计算结果是A的元素总数,对于二维矩阵而言相当于size结果中的a*b
c=lenth(A)的计算结果是取矩阵A中的行数或列数大的那个。相当于size中的max(a,b)
以下举例说明:
>> A=rand(4,6)
A =
0.3293 0.6028 0.6385 0.5952 0.0782 0.5481
0.0155 0.5111 0.7377 0.5391 0.0885 0.6060
0.6162 0.4940 0.2515 0.0866 0.0155 0.0128
0.9830 0.2100 0.6547 0.9890 0.9542 0.5491
>> [a,b]=size(A)
a =
4
b =
6
>> s=numel(A)
s =
24
>> c=length(A)
c =
6
>> B=rand(8,6)
B =
0.5059 0.8508 0.3420 0.4511 0.0600 0.3139
0.8031 0.7238 0.3505 0.2299 0.3690 0.8789
0.5091 0.7330 0.2239 0.4758 0.2625 0.5484
0.7579 0.9414 0.0679 0.2714 0.4206 0.0567
0.9790 0.6732 0.9375 0.3537 0.2000 0.8127
0.9133 0.4884 0.3001 0.3637 0.7818 0.6590
0.3249 0.3432 0.9219 0.6571 0.1331 0.1172
0.5495 0.8683 0.2215 0.2797 0.3422 0.2794
>> c2=length(B)
c2 =
8
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-19
Indexing cannot yield multiple results是索引不能产生多个结果,我在我电脑上试了下没有错误 你在 试试
第2个回答  2010-04-19
[m,n]=size(A)本回答被提问者采纳
相似回答