1、矩阵的建立
1)用分号创建矩阵
说明:分号的作用为区分不同的行
2)用回车键创建矩阵
说明:回车的作用表示开始新的一行
3)常用创建矩阵的命令
c=ones(m,n) 产生一个m行n列的元素全为1的矩阵
b=zeros(m,n) 产生一个m行n列的零矩阵
2、矩阵的运算
1)矩阵的加法、减法运算
2)矩阵的点乘、点除和点乘幂运算
两个矩阵对应元素进行相乘:A.*B
两个矩阵对应元素进行相除:A./B
一个矩阵所有元素都进行n次方:A.^n
3、对矩阵的元素进行操作
*magic是拉丁方,各行各列以及对角线的和是一个常数[n*(n^2+1)/2)],magic(5)是五元拉丁方,和为65
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
1)修改单个元素的值
已知矩阵A=magic(5),请将A的第1行第2列的元素改为10。
或
(说明矩阵元素是按照列的先后顺序排放的)
2)修改多个元素的值
已知矩阵A=magic(5),请将A的第2行第2至第4列的元素改为7,8,9
3)删除一行或一列
已知矩阵A=magic(5),请删除A的第2行。
已知矩阵A=magic(5),请删除A的第3列。
4)增加一行或一列
已知矩阵A=magic(5),请让[1 2 3 4 5]成为A的第5行。
已知矩阵A=magic(5),请让[1;2;3;4;5]成为A的第5列。
5)将矩阵排成一列
已知矩阵A=magic(5),请A排成一列,使得A的第一列在第二列前面,第二列在第三列前面,第三列在第四列前面,第四列在第五列前面。
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B =17
23
4
10
11
24
5
6
12
18
1
7
13
19
25
8
14
20
21
2
15
16
22
3
9
4、矩阵的其他操作
1)inv()
A=magic(5)
B=inv(A) %矩阵求逆
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B =-0.0049 0.0512 -0.0354 0.0012 0.0034
0.0431 -0.0373 -0.0046 0.0127 0.0015
-0.0303 0.0031 0.0031 0.0031 0.0364
0.0047 -0.0065 0.0108 0.0435 -0.0370
0.0028 0.0050 0.0415 -0.0450 0.0111
2)zeros()
E=zeros(10,5,3)
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5,10,5)
E(:,:,3) = randn(10,5)
10行5列的0矩阵 ,三维
rand、randi和randn的区别?
1、rand生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(mn,'double)生成指定精度的均匀分布的伪随机数,参数还可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数
2、randn生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样
3、randi生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi (iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r=randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵
A=[ -2 0 3 9 4 5
8 7 5 1 3 20
0 1 0 3 3 5
7 -3 6 1 2 0 ];
A(2,3)=9
A(4,5:6)=1
A(:,1)=[]
A(5,:)=[0 0 0 1 0]