size函数
size():获取矩阵的行数和列数
- s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
- [r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
- size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。
另外,length()=max(size()).
cat函数
cat:用来联结数组
用法:
1. C = cat(dim, A, B) 按dim来联结A和B两个数组。C = cat(dim, A1, A2, A3, …) 按dim联结所有输入的数组。
2. EXP: a=cat(3,A,B) 左括号后的3表示构造出的矩阵维数;在新的矩阵中第1、2维就是A和B]这两个矩阵的行数和列数,第3维是A和B]这两个矩阵的矩阵个数,即为2
3. cat(2, A, B)相当于[A, B];cat(1, A, B)相当于[A; B].
例如:
>> A = [1 2; 3 4];
>> B = [5 6; 7 8];
>> A
A =
1 2
3 4
>> B
B =
5 6
7 8
>> cat(1, A, B) %按列连接(列数相同)
ans =
1 2
3 4
5 6
7 8
>> cat(2, A, B) %按行连接(行数相同)
ans =
1 2 5 6
3 4 7 8
>> cat(3, A, B) %合成效果如下图,连成为3维
ans(:,:,1) = %第一层
1 2
3 4
ans(:,:,2) = %第二层
5 6
7 8
a = magic(3)
b = pascal(3)
k=1,合并后形如 [a;b],行添加矩阵(要求a,b的列数相等才能合并);
>> c = cat(1,a,b)
c =
8 1 6
3 5 7
4 9 2
1 1 1
1 2 3
1 3 6
k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并)
>> c = cat(2,a,b)
c =
8 1 6 1 1 1
3 5 7 1 2 3
4 9 2 1 3 6
>> c = cat(3,a,b)
c(:,:,1) =
8 1 6
3 5 7
4 9 2
c(:,:,2) =
1 1 1
1 2 3
1 3 6
n维的矩阵合并,要求n-1维维数相等才可以.
>> c = cat(4,a,b)
c(:,:,1,1) =
8 1 6
3 5 7
4 9 2
c(:,:,1,2) =
1 1 1
1 2 3
1 3 6
ones函数和zero函数
ones产生全1数组,zeros产生全零数组。
用法:
- ones(a,b)产生a行b列全1数组
- ones(a)产生a行a列全1数组
- 例如:
- ones(1,3)产生1行3列全1数组[1 1 1]
- ones(2)产生
[1111]