matlab中SIZE()的用法

求教SIZE的用法 为什么a=[1,2,3;4,5,6;7,8,9] N=size(a,1)会出现Index exceeds matrix dimensions.的问题
还有到底应该如何使用

1、首先我们定义一个三维矩阵A,包含行数、列数和维度。使用命令A=rand(2,3,3)创建一个2行3列3个维度的随机矩阵。

2、接着定义一个随机矩阵B,包含行数和列数。使用命令B=rand(4,5)创建一个4行5列的随机矩阵B。

3、size()函数可以获取矩阵的大小,此处使用命令size(A)获取矩阵A的大小,运行结果如下图所示 ,输出为2 3 3。

4、使用命令size(B)获取矩阵B的大小,运行结果如下图所示 ,输出为4 5。分别为矩阵B的行数和列数。

5、使用命令m=size(A)来获取矩阵A的大小,可以把数据存放在向量m中。输出结果为m=2 3 3.

6、下面使用命令t=size(B)获取矩阵B的大小,输出结果为t=4 5,数据存放在向量t中。

7、[m,n]=size(B)使用size函数获取矩阵B的大小,行数存放在变量m中,列数存放在变量n中,输入结果。

8、[m,n,l]=size(A)获取矩阵A的大小,输入结果存放在m、n和l中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-05

这样用:[m,n]=size(a) 返回数组的行m和列n,

如果只想要行,可以为:[m,~]=size(a)

只要列则同理。

语法格式:d = size(X)

返回数组X每一维的大小,其中d是一个向量,元素个数为ndims(X)。如果X是一个标量(在Matlab也就是一个1行乘以1列的数组),size(X)将返回[1 1]。

扩展资料:

size():获取矩阵的行数和列数

1、s=size(A),

当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。

2、[r,c]=size(A),

当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。

3、size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。

另外,length()=max(size()).

本回答被网友采纳
第2个回答  推荐于2017-09-14
  size,英语单词,此外也是matlab中的一个函数。
  size简介
  函数功能:返回数组的尺寸
  语法格式:
  d = size(X)
  返回数组X每一维的大小,其中d是一个向量,元素个数为ndims(X)。如果X是一个标量(在Matlab也就是一个1行乘以1列的数组),size(X)将返回[1 1]。
  [m,n] = size(X)
  返回矩阵X的尺寸信息, 并存储在m、n中。其中m中存储的是行数,n中存储的是列数。
  m = size(X,dim)
  返回X的第dim维的尺寸。
  [d1,d2,d3,...,dn] = size(X),
  当n大于1时, 返回X各维的尺寸, 并存储在变量d1、d2、……、dn中。 其中n(输出参数的个数)必须等于ndims(X)。如果不等于,则:
  n < ndims(X)时, 对于大于等于1且小于n的i, di等于X第i维的尺寸; dn等于X的其他剩余维数的尺寸的乘积。
  n > ndims(X)时, 多出来的输出参数等于1。
  相关函数:ndims、length

  程序示例:
  示例一
  >> a = [1 2 3; 4 5 6];
  >> [m, n] = size(a)
  m = 2, n = 3
  示例二
  >> a = [1 2 3; 4 5 6];
  >> b = [4 5 6; 7 8 9];
  >> d = zeros(2, 3, 2);
  >> d(:, :, 1) = a;
  >> d(:, :, 2) = b;
  >> [m n p] = size(d)
  m = 2, n = 3, p = 2
  由此可见d是一个2×3×2的三维数组(这里我们也可以用reshape函数或者cat函数或者使用for循环来构建三维数组)。
  >> [m n] = size(d)
  m = 2,n = 6
  这里m指出了第一维的长度, 而这里的n就等于剩下两维长度的乘积,即6。
  >> m = size(d)
  m = 2 3 2
  示例三
  >> [m n p q] = size(a)
  m = 2, n = 3, p = 1, q = 1
第3个回答  2009-10-21
size(C)就是C的大小,多少行,多少列

所以for ii = 1:sizeC(2)就是依次判断C所有的列

如果该列第1,第2个元素均小于100,就让R2, W2记录下来
第4个回答  2013-09-12
我测试你的代码也没有问题。
你可以尝试用

[m,n]=size(a) 返回数组的行m和列n,
如果只想要行,可以为:[m,~]=size(a)
只要列则同理。
相似回答