MATLAB:矩阵实验室
生成矩阵的方法:
- 直接输入矩阵元素
- 对已知矩阵进行矩阵组合、矩阵转向、矩阵移位
- 读取数据文件
- 利用函数直接生成特殊矩阵
函数名 说明 zeros 全0矩阵 ones 全1矩阵 rand 均匀分布随机矩阵 randn 正态分布随机分布 magic 魔方矩阵 diag 对角矩阵 triu 上三角矩阵 tril 下三角矩阵 eye 单位矩阵 company 伴随矩阵 hilb Hilbert矩阵 invhilb Hilbert逆矩阵 vander vander矩阵 pascal Pascal矩阵 hadamard Hadamard矩阵 hankel() Hankel矩阵
2.2.1 矩阵生成
1. 生成一个随机矩阵:
A = rand(5) %生成5×5的随机矩阵 A(:, 1) %A的第一列 A(:, 3:5) %A的三到五列 A(1, :) %A的第一行 A(1:3, :) %A的一到三行
2. 矩阵的乘法运算:(叉乘与点乘)
A = 1 1 1 2 2 2 3 3 3 A^2 = A * A = %矩阵乘法 6 6 6 12 12 12 18 18 18 A.^2 = %矩阵的点乘法 1 1 1 4 4 4 9 9 9
3. 矩阵的除法:A^2 A.^2
4. 矩阵的减法:A^2 - A.^2
5. 矩阵的加法:A^2 + A.^2
6. Hankel矩阵求解(汉克尔矩阵:逆对角线相等)
>> c = [1:3], r = [3:9], H = hankel(c,r); c = 1 2 3 r = 3 4 5 6 7 8 9 >> H H = 1 2 3 4 5 6 7 2 3 4 5 6 7 8 3 4 5 6 7 8 9
7.Hilbert矩阵及逆矩阵Hilbert矩阵(希尔伯特矩阵:其元素A(i,j)=1/(i+j-1),i,j分别为其行标和列标)
>> A = hilb(5) A = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 >> format rat %更改输出格式 A A = 1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9 >> A = invhilb(5) A = 25 -300 1050 -1400 630 -300 4800 -18900 26880 -12600 1050 -18900 79380 -117600 56700 -1400 26880 -117600 179200 -88200 630 -12600 56700 -88200 44100
2.2.2 向量的生成
- 直接使用[ ] 生成向量
- 使用冒号表达式生成向量
- 使用linspace函数生成向量
1、使用冒号
x = [ 初值x0 : 增量 : 终值xn
(1)生成的向量尾元素不一定是终值xn,当xn - x0 恰好为增量的整数倍时,xn才是尾元素
>> t = 1:3:20 t = 1 4 7 10 13 16 19 >> t1 = 10:-3:-20 t1 = 1 至 7 列 10 7 4 1 -2 -5 -8 8 至 11 列 -11 -14 -17 -20
(2)当xn > x0 时,增量必须为正值,当xn < x0 时,增量必须为负值,当xn = x0 时,向量只有一个元素
>> t = 1:2:1 t = 1
(3)当增量为1时,增量值可以略去,直接写成 x = 初值 : 终值
>> t = 1:5 t = 1 2 3 4 5
(4)方括号可以删除
2、使用linspace函数生成向量
x = linspace(初值x1,终值xn,点数n)
点数n可以不写,默认为100
>> t = linspace(1,10,10) t = 1 至 7 列 1 2 3 4 5 6 7 8 至 10 列 8 9 10 >> t = linspace(1, 10, 5) t = 1 13/4 11/2 31/4 10
有时要生成对数等比向量,用logspace函数
x = logspace(初值x1, 终值xn, 点数n) %从10的x1次幂到xn次幂等比生成n个点
>> x = logspace(0,1,15) x = 1 至 7 列 1 2776/2355 635/457 778/475 4151/2150 4843/2128 7364/2745 8 至 14 列 721/228 3161/848 4227/962 10649/2056 2259/370 914/127 4352/513 15 列 10