赞
踩
zeros函数:产生全0矩阵。
ones函数:产生全1矩阵。
eye函数:产生对角线为1的矩阵。当矩阵为方阵时,得到一个单位矩阵。
rand函数:产生(0,1)区间均匀分布的随机矩阵。
randn函数:产生均值为0,方差为1 的标准正态分布随机矩阵。
zeros函数的调用格式
zeros(m):产生m×m零矩阵。
zeros(m,n):产生m×n零矩阵。
zeros(size(A)):产生与矩阵A同样大小的零矩阵。
>> A = zeros(2,3)
A =
0 0 0
0 0 0
>> zeros(size(reshape(A,3,2)))
ans =
0 0
0 0
0 0
例:首先产生5阶两位随机整数矩阵A,再产生均值为0.6、方差为0.1的5阶正态分布随机矩阵B,最后验证(A+B)I=IA+BI(I为单位矩阵)。
>> A = fix(10+(99-10+1)*rand(5));
>> B = 0.6+sqrt(0.1)*randn(5);
>> C = eye(5);
>> (A+B)*C == C*A+B*C
ans =
5×5 logical 数组
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
*rand函数:产生(0,1)开区间均匀分布的随机数x。
fix(a+(b-a+1)x):产生[a,b]区间上分布均匀的随机整数。
randn函数:产生均值为0、方差为1的标准正态分布随机数x。
μ + σ x \mu + \sigma x μ+σx:得到均值为 μ \mu μ、方差为 σ 2 \sigma^2 σ2的随机数。
魔方矩阵——Magic Square
>> M = magic(3)
M =
8 1 6
3 5 7
4 9 2
n阶魔方矩阵由1,2,3,…… n 2 n^2 n2共 n 2 n^2 n2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。
n阶魔方阵每行每列元素的和为 ( 1 + 2 + 3 + … … + n 2 ) / n = ( n + n 3 ) / 2 (1+2+3+……+n^2)/n=(n+n^3)/2 (1+2+3+……+n2)/n=(n+n3)/2。
Matlab函数magic(n)产生一个特定的魔方阵。
例: 产生8阶魔方阵,求其每行每列元素的和。
>> M = magic(8);
>> sum(M(1,:))
ans =
260
>> sum(M(:,1))
ans =
260
范德蒙矩阵
在Matlab中,函数vander(V)生成以向量V为基础的范德蒙矩阵。
>> A = vander(1:5)
A =
1 1 1 1 1
16 8 4 2 1
81 27 9 3 1
256 64 16 4 1
625 125 25 5 1
希尔伯特矩阵
生成n阶希尔伯特矩阵的函数是hilb(n)。
>> format rat%设置输出格式为有理数
>> H=hilb(4)
H =
1 1/2 1/3 1/4
1/2 1/3 1/4 1/5
1/3 1/4 1/5 1/6
1/4 1/5 1/6 1/7
伴随矩阵
Matlab生成伴随矩阵的函数是compan§,其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。
例如,生成多项式 x 3 − 2 x 2 − 5 x + 6 x^3-2x^2-5x+6 x3−2x2−5x+6的伴随矩阵。
>> A = compan(p)
A =
2 5 -6
1 0 0
0 1 0
帕斯卡矩阵
例:生成5阶帕斯卡矩阵,验证它的逆矩阵的所有元素也为整数。
>> format rat >> P = pascal(5) P = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 >> inv(P) ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1
对角矩阵:只有对角线上有非零元素的矩阵。
数量矩阵:对角线上的元素相等的对角矩阵。
单位矩阵:对角线上的元素都为1的对角矩阵。
提取矩阵的对角线元素
diag(A):提取矩阵A主对角线元素,产生一个列向量。
diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量。
构造对角矩阵
diag(V):以向量V为主对角线元素,产生对角矩阵。
diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。
例:建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,……,第五行乘以5。
>> A = [7,0,1,0,5;3,5,7,4,1;4,0,3,0,2;1,1,9,2,3;1,8,5,2,9] A = 1 至 4 列 7 0 1 0 3 5 7 4 4 0 3 0 1 1 9 2 1 8 5 2 5 列 5 1 2 3 9 >> D = diag(1:5); >> D*A ans = 1 至 4 列 7 0 1 0 6 10 14 8 12 0 9 0 4 4 36 8 5 40 25 10 5 列 5 2 6 12 45
上三角阵:矩阵的对角线以下的元素全为0的矩阵。
下三角矩阵:对角线以上的元素全为0的矩阵。
上三角矩阵
triu(A):提取矩阵A的主对角线及以上的元素。
triu(A,k):提取矩阵A的第k条对角线及以上的元素。
>> triu(ones(4),-1)
ans =
1 1 1 1
1 1 1 1
0 1 1 1
0 0 1 1
下三角矩阵
提取函数为tril,用法与tiru相同。
转置运算符为小数点后接单引号(.’)。
共轭转置,运算符为单引号(’),在转置的基础上取每个数的复共轭。
实矩阵的转置与共轭转置结果一样。
>> A = [1,3;3+4i,1-2i] A = 1.0000 + 0.0000i 3.0000 + 0.0000i 3.0000 + 4.0000i 1.0000 - 2.0000i >> A.' ans = 1.0000 + 0.0000i 3.0000 + 4.0000i 3.0000 + 0.0000i 1.0000 - 2.0000i >> A' ans = 1.0000 + 0.0000i 3.0000 - 4.0000i 3.0000 + 0.0000i 1.0000 + 2.0000i
rot90(A,k):将矩阵A逆时针方向旋转 90 ° 90\degree 90°的k倍,当k为1时可省略。
>> A = [1,3,2;-3,2,1;4,1,2] A = 1 3 2 -3 2 1 4 1 2 >> rot90(A) ans = 2 1 2 3 2 1 1 -3 4 >> rot90(A,2) ans = 2 1 4 1 2 -3 2 3 1
fliplr(A):对矩阵A实施左右翻转。
flipud(A):对矩阵A实施上下翻转。
例:验证魔方阵主对角线、副对角线元素之和相等。
A = magic(5);
D1 = diag(A);%提取A的主对角线元素
sum(D1)
ans =
65
B = flipud(A);
D2 = diag(B);
sum(D2)
ans =
65
对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I(I为单位矩阵),则称B与A互为逆矩阵。
inv(A):求方阵A的逆矩阵。
例:用求逆矩阵的方法解线性方程组。
{ x + 2 y + 3 z = 5 x + 4 y + 9 z = − 2 x + 8 y + 27 z = 6
在线性方程组 A x = b Ax=b Ax=b两边各左乘 A − 1 A^{-1} A−1,有 A − 1 A x = A − 1 b A^{-1}Ax=A^{-1}b A−1Ax=A−1b,由于 A
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。