MATLAB数学手册教程 第1章矩阵及其基本运算.doc
《MATLAB数学手册教程 第1章矩阵及其基本运算.doc》由会员分享,可在线阅读,更多相关《MATLAB数学手册教程 第1章矩阵及其基本运算.doc(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 矩阵及其基本运算MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本书从最基本的运算单元出发,介绍MATLAB的命令及其用法。1.1 矩阵的表示1.1.1 数值矩阵的生成1实数值矩阵输入MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号( )内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: Time = 11 12 1 2 3
2、4 5 6 7 8 9 10Time =11 12 1 2 3 4 5 6 7 8 9 10 X_Data = 2.32 3.43;4.37 5.98X_Data =2.43 3.434.37 5.98 vect_a = 1 2 3 4 5vect_a =1 2 3 4 5 Matrix_B = 1 2 3; 2 3 4;3 4 5Matrix_B = 1 2 32 3 43 4 5 Null_M = %生成一个空矩阵2复数矩阵输入复数矩阵有两种生成方式:第一种方式例1-1 a=2.7;b=13/25; C=1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1C
3、= 1.0000 5.4000 + 0.5200i 0.8544 0.7071 5.3000 4.5000 第2种方式例1-2 R=1 2 3;4 5 6, M=11 12 13;14 15 16R = 1 2 3 4 5 6M = 11 12 13 14 15 16 CN=R+i*MCN = 1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i1.1.2 符号矩阵的生成在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式
4、上很相像,只不过要用到符号(symbol)矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。1用命令sym定义矩阵:这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。如下例:例1-3 sym_matrix = sym(a b c;Jack,Help Me!,NO WAY!,)sym_matrix =a b cJack Help Me! NO WAY! sym_digits = sym(1 2 3;a b c;sin(x)co
5、s(y)tan(z)sym_digits =1 2 3a b csin(x)cos(y)tan(z)2用命令syms定义矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。例1-4 syms a b c ; M1 = sym(Classical); M2 = sym( Jazz); M3 = sym(Blues) syms_matrix = a b c; M1, M2, M3;int2str(2 3 5)syms_matrix = a b cClassical Jazz Blues 2 3 5把数值矩阵转化成相应的符号矩阵。数值型和符号型在MATLAB中是不相同的,它们
6、之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即sym。例1-5 Digit_Matrix = 1/3 sqrt(2) 3.4234;exp(0.23) log(29) 23(-11.23) Syms_Matrix = sym(Digit_Matrix)结果是:Digit_Matrix =0.3333 1.4142 3.42341.2586 3.3673 0.0000Syms_Matrix = 1/3, sqrt(2), 17117/500026899*2(-52),86655*2(-51),83729*2(-103)注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转
7、化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。1.1.3 大矩阵的生成对于大型矩阵,一般创建M文件,以便于修改:例1-6 用M文件创建大矩阵,文件名为example.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窗口输入:example;size(exm) %显示exm的大小ans= 5 6 %表示exm有5行6列。1.1.4 多维数组的创建函数 cat格式 A=cat(n,A1,A2,Am)说明 n=1
8、和n=2时分别构造A1;A2和A1,A2,都是二维数组,而n=3时可以构造出三维数组。例1-7 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A1-A2; A4=cat(3,A1,A2,A3)A4(:,:,1) = 1 2 3 4 5 6 7 8 9A4(:,:,2) = 1 4 7 2 5 8 3 6 9A4(:,:,3) = 0 -2 -4 2 0 -2 4 2 0或用另一种原始方式可以定义:例1-8 A1=1,2,3;4,5,6;7,8,9;A2=A1;A3=A1-A2; A5(:,:,1)=A1, A5(:,:,2)=A2, A5(:,:,3)=A3A5(:,:,1) =
9、 1 2 3 4 5 6 7 8 9A5(:,:,2) = 1 4 7 2 5 8 3 6 9A5(:,:,3) = 0 -2 -4 2 0 -2 4 2 01.1.5 特殊矩阵的生成命令 全零阵函数 zeros格式 B = zeros(n) %生成nn全零阵B = zeros(m,n) %生成mn全零阵B = zeros(m n) %生成mn全零阵B = zeros(d1,d2,d3) %生成d1d2d3全零阵或数组B = zeros(d1 d2 d3) %生成d1d2d3全零阵或数组B = zeros(size(A) %生成与矩阵A相同大小的全零阵命令 单位阵函数 eye格式 Y = ey
10、e(n) %生成nn单位阵Y = eye(m,n) %生成mn单位阵Y = eye(size(A) %生成与矩阵A相同大小的单位阵命令 全1阵函数 ones格式 Y = ones(n) %生成nn全1阵Y = ones(m,n) %生成mn全1阵Y = ones(m n) %生成mn全1阵Y = ones(d1,d2,d3) %生成d1d2d3全1阵或数组Y = ones(d1 d2 d3) %生成d1d2d3全1阵或数组Y = ones(size(A) %生成与矩阵A相同大小的全1阵命令 均匀分布随机矩阵函数 rand 格式 Y = rand(n) %生成nn随机矩阵,其元素在(0,1)内Y
11、 = rand(m,n) %生成mn随机矩阵Y = rand(m n) %生成mn随机矩阵Y = rand(m,n,p,) %生成mnp随机矩阵或数组Y = rand(m n p) %生成mnp随机矩阵或数组Y = rand(size(A) %生成与矩阵A相同大小的随机矩阵rand %无变量输入时只产生一个随机数s = rand(state) %产生包括均匀发生器当前状态的35个元素的向量rand(state, s) %使状态重置为srand(state, 0) %重置发生器到初始状态rand(state, j) %对整数j重置发生器到第j个状态rand(state, sum (100*clo
12、ck) %每次重置到不同状态例1-9 产生一个34随机矩阵 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例1-10 产生一个在区间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.9
13、365 10.0986 16.0379命令 正态分布随机矩阵函数 randn格式 Y = randn(n) %生成nn正态分布随机矩阵Y = randn(m,n) %生成mn正态分布随机矩阵Y = randn(m n) %生成mn正态分布随机矩阵Y = randn(m,n,p,) %生成mnp正态分布随机矩阵或数组Y = randn(m n p) %生成mnp正态分布随机矩阵或数组Y = randn(size(A) %生成与矩阵A相同大小的正态分布随机矩阵randn %无变量输入时只产生一个正态分布随机数s = randn(state) %产生包括正态发生器当前状态的2个元素的向量s = ra
14、ndn(state, s) %重置状态为ss = randn(state, 0) %重置发生器为初始状态s = randn(state, j) %对于整数j重置状态到第j状态s = randn(state, sum(100*clock) %每次重置到不同状态例1-11 产生均值为0.6,方差为0.1的4阶矩阵 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.506
15、4 0.6996 0.8527命令 产生随机排列函数 randperm格式 p = randperm(n) %产生1n之间整数的随机排列例1-12 randperm(6)ans = 3 2 1 5 4 6命令 产生线性等分向量函数 linspace格式 y = linspace(a,b) %在(a, b)上产生100个线性等分点y = linspace(a,b,n) %在(a, b)上产生n个线性等分点命令 产生对数等分向量函数 logspace格式 y = logspace(a,b) %在( )之间产生50个对数等分向量y = logspace(a,b,n)y = logspace(a,pi
16、)命令 计算矩阵中元素个数n = numel(a) %返回矩阵A的元素的个数命令 产生以输入元素为对角线元素的矩阵函数 blkdiag格式 out = blkdiag(a,b,c,d,) %产生以a,b,c,d,为对角线元素的矩阵例1-13 out = blkdiag(1,2,3,4)out = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4命令 友矩阵函数 compan格式 A = compan(u) %u为多项式系统向量,A为友矩阵,A的第1行元素为 -u (2:n)/u(1),其中u (2:n)为u的第2到第n个元素,A为特征值就是多项式的特征根。例1-14 求多项式 的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB数学手册教程 第1章 矩阵及其基本运算 MATLAB 数学 手册 教程 矩阵 及其 基本 运算
限制150内