1、7 8 9b=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.9Null_M = %生成一个空矩阵a = 1 2 3 4 5 6 7 8 9b = 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.5
2、000 3.6000 1.7000 1.8000 1.9000 2.7000 2.8000 2.9000 3.7000 3.8000 3.9000Null_M =2复数矩阵输入复数矩阵有两种生成方式:【例32】 a=2.7;b=13/25; C=1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1C= 1.0000 5.4000 + 0.5200i 0.8544 0.7071 5.3000 4.5000 【例33】矩阵的生成例。R=1 2 3;4 5 6, M=11 12 13;14 15 16CN=R+i*MR =M = 11 12 13 14 15 16CN
3、 = 1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i3 大矩阵的生成对于大型矩阵,一般创建M文件,以便于修改:【例34】用M文件创建大矩阵,文件名为c3e4.mexm= 456 468 873 2 579 5521 687 54 488 8 1365 4567 88 98 21 5456 68 4589 654 5 987 5488 10 9 6 33 77在MATLAB命令窗口输入:c3e4;size(exm) %显示exm的大小ans=
4、 5 6 %表示exm有5行6列。4 特殊矩阵的生成命令 全零阵函数 zeros格式 B = zeros(n) %生成nn全零阵B = zeros(m,n) %生成mB = zeros(m n) %生成mB = zeros(size(A) %生成与矩阵A相同大小的全零阵命令 单位阵函数 eye格式 Y = eye(n) %生成nn单位阵Y = eye(m,n) %生成mY = eye(size(A) %生成与矩阵A相同大小的单位阵命令 全1阵函数 ones格式 Y = ones(n) %生成nn全1阵Y = ones(m,n) %生成mY = ones(m n) %生成mY = ones(si
5、ze(A) %生成与矩阵A相同大小的全1阵命令 均匀分布随机矩阵函数 rand 格式 Y = rand(n) %生成nn随机矩阵,其元素在(0,1)内Y = rand(m,n) %生成mn随机矩阵Y = rand(m n) %生成mY = rand(size(A) %生成与矩阵A相同大小的随机矩阵【例35】 产生一个34随机矩阵R=rand(3,4) 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919【例36】 产生一个在区间10, 20内均匀分布的4阶随机矩阵a=10;b=20;
6、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) %生成nn正态分布随机矩阵Y = randn(m,n) %生成mY = randn(m n) %生成mY = randn(size(A) %生成与矩阵A相同大小的正态分布随机矩阵【例37】 产生均值为0.6,方差为0.1的4阶矩阵mu
7、=0.6; sigma=0.1;x=mu+sqrt(sigma)*randn(4) 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格式 p = randperm(n) %产生1n之间整数的随机排列【例38】整数的随机排列。randperm(6)ans = 3 2 1 5 4 6命令 产生线性等分向量函数 linspace格式 y = linspace(a,b) %在(a, b)上产
8、生100个线性等分点y = linspace(a,b,n) %在(a, b)上产生n个线性等分点命令 产生对数等分向量函数 logspace格式 y = logspace(a,b) %在( )之间产生50个对数等分向量y = logspace(a,b,n)命令 计算矩阵中元素个数n = numel(a) %返回矩阵A的元素的个数命令 产生以输入元素为对角线元素的矩阵函数 blkdiag格式 out = blkdiag(a,b,c,d,) %产生以a,b,c,d,为对角线元素的矩阵【例39】产生以输入元素为对角线元素的矩阵 out = blkdiag(1,2,3,4) out = 1 0 0 0
9、 0 2 0 0 0 0 3 0 0 0 0 4命令 Magic(魔方)矩阵函数 magic格式 M = magic(n) %产生n 阶魔方矩阵【例310】产生3 阶魔方矩阵M=magic(3) 8 1 6 3 5 7 4 9 2 3.3矩阵的加减乘除运算1 加、减运算设u为一数量,A=(aij) mn和B=(bij) rs为两矩阵,则加减运算的规定为:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。uA=(uaij) mnAB=( aij bij) mu*A=(u*aij) m【例311】矩阵的加减运算。输入:u=97 8 0b=3 4 5;6 7 8;9 10 2c=u+ad
10、=a-be=u*a % 和数组运算相同结果:c = 10 11 12 13 14 15 16 17 9d = -2 -2 -2 -2 -2 -2e = 9 18 27 36 45 54 63 72 02 矩阵的乘及乘方运算l和B=(bij) ln为两矩阵, A的列数l和B的行数l相等,可进行A与B 的乘法运算。这里cij=ai1b1j+ai2b2j+ailblj=它表示C的第i行第j列的元素是A第i行的各元分别与B第j列的各对应元的乘积的和。【例312】矩阵的乘及乘方运算。f=1 2 3g=f*ah=f.*aa = 1 2 3 7 8 0g = 30 36 15? Error using =
11、.*3.方阵的求逆单位矩阵:主对角线上的元素都是1,其他各元素都是0的n阶矩阵与任意n阶矩阵A左乘或右乘的乘积仍然是A自身,即EA=AE=A,因此我们叫E为n阶单位矩阵。对满秩方阵A,存在A-1,使A* A-1= A-1*A=E;我们称A-1是A的逆矩阵。命令 逆函数 inv格式 Y=inv(X) %求方阵X的逆矩阵。【例313】求的逆矩阵A=1 2 3; 2 2 1; 3 4 3;Y=inv(A)或Y=A(-1)则结果显示为Y = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000【例314】求逆运算。 A=2
12、 1 -1;2 1 2;1 -1 1; format rat %用有理格式输出 D=inv(A)D = 1/3 0 1/3 0 1/3 -2/3 -1/3 1/3 0 4除法运算右除:矩阵a右除以矩阵b定义为:a/b=a*b(-1)=a*inv(b)左除:矩阵b左除以矩阵a定义为:ab=a(-1)*b=inv(a)*bMatlab提供了两种除法运算:左除()和右除(/)。一般情况下,x=ab是方程a*x =b的解,而x=b/a是方程x*a=b的解。即:ax=ba(-1)*a*x=a(-1)*bX=inv(a)*b=abxa=bX*a*a(-1)=b*a(-1)X=b*a(-1)=b*inv(a)=b/a【例315】除法运算 4 2 6; 7 4 9b=4; 1; 2;x=ab则显示:x=-1.5000 2.00000.5000在数组除法中,A./B表示A中元素与B中元素对应相除。5向量点积向量的点乘(内积):维数相同的两个向量的点乘。函数 dot格式
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1