当前位置:首页 > 第三章矩阵与线性代数计算
第三章 矩阵与线性代数计算
MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本章从最基本的运算单元出发,介绍MATLAB的命令及其用法。
3.1矩阵的定义
由m×n个元素aij(i=1,2,?m;j=1,2,?n)排列成的矩形阵称为一个m行n列的矩阵,或m×n阶矩阵,可以简记为A=(aij) m×n,其中的aij叫做矩阵的第i行第j列元素。
?a11A???a21??am1a12a22am2???a1n?a2n?? amn??当m=n时,称A为n阶方阵,也叫n阶矩阵;
当m=1,n≥2时,即A中只有一行时,称A为行矩阵,或行向量(1维数组); 当m≥2,n=1时,即A中只有一列时,称A为列矩阵,或列向量; 当m=1,n=1时,即A中只有一个元素时,称A为标量或数量(0维数组)。
3.2矩阵的生成
1.实数值矩阵输入
MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: 【例3-1】矩阵的生成例。
a=[1 2 3;4 5 6;7 8 9]
b=[1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]
Null_M = [ ] %生成一个空矩阵
1
a =
1 2 3 4 5 6 7 8 9 b =
1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 3.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.6000 1.7000 1.8000 1.9000 2.7000 2.8000 2.9000 3.7000 3.8000 3.9000 Null_M =[] 2.复数矩阵输入
复数矩阵有两种生成方式: 【例3-2】
a=2.7;b=13/25;
C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]
C=
1.0000 5.4000 + 0.5200i 0.8544 0.7071 5.3000 4.5000 【例3-3】矩阵的生成例。
R=[1 2 3;4 5 6], M=[11 12 13;14 15 16] CN=R+i*M R =
1 2 3 4 5 6
M =
11 12 13 14 15 16
CN =
1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i 3 大矩阵的生成
对于大型矩阵,一般创建M文件,以便于修改:
2
【例3-4】用M文件创建大矩阵,文件名为c3e4.m
exm=[ 456 468 873 2 579 55
21 687 54 488 8 13 65 4567 88 98 21 5 456 68 4589 654 5 987 5488 10 9 6 33 77 在MATLAB命令窗口输入: c3e4;
size(exm) %显示exm的大小 ans=
5 6 %表示exm有5行6列。 4 特殊矩阵的生成
命令 全零阵 函数 zeros
格式 B = zeros(n) %生成n×n全零阵 B = zeros(m,n) %生成m×n全零阵 B = zeros([m n]) %生成m×n全零阵
B = zeros(size(A)) %生成与矩阵A相同大小的全零阵 命令 单位阵 函数 eye
格式 Y = eye(n) %生成n×n单位阵 Y = eye(m,n) %生成m×n单位阵
Y = eye(size(A)) %生成与矩阵A相同大小的单位阵 命令 全1阵 函数 ones
格式 Y = ones(n) %生成n×n全1阵 Y = ones(m,n) %生成m×n全1阵 Y = ones([m n]) %生成m×n全1阵
Y = ones(size(A)) %生成与矩阵A相同大小的全1阵 命令 均匀分布随机矩阵 函数 rand
格式 Y = rand(n) %生成n×n随机矩阵,其元素在(0,1)内 Y = rand(m,n) %生成m×n随机矩阵
3
Y = rand([m n]) %生成m×n随机矩阵
Y = rand(size(A)) %生成与矩阵A相同大小的随机矩阵 【例3-5】 产生一个334随机矩阵
R=rand(3,4) R =
0.9501 0.4860 0.4565 0.4447
0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919
【例3-6】 产生一个在区间[10, 20]内均匀分布的4阶随机矩阵
a=10;b=20; x=a+(b-a)*rand(4) x =
19.2181 19.3547 10.5789 11.3889
17.3821 19.1690 13.5287 12.0277 11.7627 14.1027 18.1317 11.9872 14.0571 18.9365 10.0986 16.0379 命令 正态分布随机矩阵 函数 randn
格式 Y = randn(n) %生成n×n正态分布随机矩阵 Y = randn(m,n) Y = randn(size(A)) mu=0.6; sigma=0.1; x=mu+sqrt(sigma)*randn(4) x =
0.8311 0.7799 0.1335 1.0565 0.7827 0.5192 0.5260 0.4890 0.6127 0.4806 0.6375 0.7971 0.8141 0.5064 0.6996 0.8527
命令 产生随机排列 函数 randperm
4
%生成m×n正态分布随机矩阵
%生成与矩阵A相同大小的正态分布随机矩阵
Y = randn([m n]) %生成m×n正态分布随机矩阵 【例3-7】 产生均值为0.6,方差为0.1的4阶矩阵
共分享92篇相关文档