ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:433.48KB ,
资源ID:9349881      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9349881.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab基础及其应用教程笔记第二章.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Matlab基础及其应用教程笔记第二章.docx

1、Matlab基础及其应用教程笔记第二章第二章2.1.5 运算符矩阵算术运算符运算符运算符示例法则或使用说明+加C=A+B矩阵加法法则,即C(i.j)=A(i,j)+B(i.j)-减C=A-B矩阵减法法则,即C(i.j)=A(i,j)-B(i.j)*乘C=A*B矩阵乘法法则/右除C=A/B定义为线性方程组X*B=a的解,即C=A/B=A*B-1左除C=AB定义为线性方程组A*X=B的解,即C=AB=A-1*B乘幂C=ABA、B其中一个为标量时有定义共轭转置B=AB是A的共轭转置矩阵数组算术运算符运算符名称示例法则或使用说明.*数组乘C=A.*BC(i.j)=A(i,j)*(i,j)./数组右除C

2、=A./BC(i,j)=A(i,j)/(i,j).数组左除C=A.BC(i,j)=B(i,j)A(i,j).数组乘幂C=A.BC(i,j)=A(i,j)B(i,j).转置A.将数组的行摆放成列,复数元数不能共轭关系运算符运算符名称示例法则或使用说明小于ABA、B都是标量,结果是或为1(真)或0(假)的标量A、B若为一个标量,另一个为数组,标量与数组各元数逐一比较,结果为与运算数组行列相同的数组,其中各元数取值或1或0A、B均为数组时,必须行、列数分别相同,A与B各对应元素相比较,结果为与A 或B 行列相同的数组,其中各元素取值或1 或0 =和= 运算对参与比较的量同时比较实部和虚部,其他运算只

3、比较实部=小于等于A大于AB=大于等于A=B=恒等于A=B=不等于A=B2.2.1 向量的生成 生成向量主要有3 种方案:直接输入法、冒号表达式法和函数法1. 直接输入法 在命令提示符之后直接输入一个向量,其格式是:向量名=a1,a2,a3, 例:A=2,3,4,5,6,B=1;2;3;4;5,C=4 5 6 7 8 9; %最后一个分号表示执行后不显示C 2. 冒号表达式法 利用冒号表达式a1:step:an也能生成向量,式中 a1 为向量的第一个一个元素的限定值,step 是变化步长,省略步长时系统默认为1 。 例:A=1:2:10,B=1:10,C=10: -1:1,D=10:2:4,E

4、=2:-1:10 其运行结果为 A = 1 3 5 7 9 B = 1 2 3 4 5 6 7 8 9 10 C = 10 9 8 7 6 5 4 3 2 1 D = Empty matrix: 1-by-0 E = Empty matrix: 1-by-0 3. 函数法 有两个函数可用来直接生成向量。一个实现线性等分linspace( );另一个实现对数等分logspace( ) 。 线性等分的通用格式为A=linspace(a1,an ,n),其中 a1 是向量的首元素,an是向量的尾元素,n 把a1 至an 之间的区间分成向量的首尾之外的其他 n-2 个元素。省略 n 则默认生成100

5、个元素的向量。例:A=linspace(1,50),B=linspace(1,30,10) 对数等分的通用格式为A=logspace(a1,an ,n),其中 a1 是向量首元素的幂,即A(1)=10a1;an 是向量尾元素的幂,即 A(n)=10an。n 是向量的维数。省略n 则默认生成50个元素的对数等分向量。 A=logspace(0,49),B=logspace(0,4,5) 尽管用冒号表达式和线性等分函数都能生成线性等分向量,但在使用时有几点区别值得注意: (1) an 在冒号表达式中,它不一定恰好是向量的最后一个元素,只有当向量的倒数第二个元素加步长等于an 时,an 才正好构成尾

6、元素。如果一定要构成一个以 an 为末尾元素的向量,那么最可靠的生成方法是用线性等分函数。 (2) 在使用线性等分函数前,必须先确定生成向量的元素个数,但使用冒号表达式将依着步长和an 的限制去生成向量,用不着去考虑元素个数的多少。 (3) 实际应用时,同时限定尾元素和步长去生成向量,有时可能会出现矛盾,此时必须做出取舍。要么坚持步长优先,调整尾元素限制;要么坚持尾元素限制,去修改等分步长。 向量的加、减和数乘运算例:A=1 2 3 4 5;B=3:7;C=linspace(2,4,3); AT=A;BT=B; E1=A+B,E2=A -B,F=AT-BT,G1=3*A,G2=B/3,H=A+

7、C 其运行结果为 E1 = 4 6 8 10 12 E2 = -2 -2 -2 -2 -2 F = -2 -2 -2 -2 -2 G1 = 3 6 9 12 15 G2 = 1.0000 1.3333 1.6667 2.0000 2.3333 ? Error using = + Matrix dimensions must agree. 上述实例执行后,H=A+C显示了出错信息,表明维数不同的向量之间的加减法运算是非法的。 2.2.3 向量的点、叉积运算 向量的点积即数量积,叉积又称向量积或矢量积。1. 点积运算 点积运算(A B ) 的定义是参与运算的两向量各对应位置上元素相乘后,再将各乘积

8、相加。所以向量点积的结果是一标量而非向量。点积运算函数是:dot(A,B) ,A、B 是维数相同的两向量。 例A=1:10;B=linspace(1,10,10); AT=A;BT=B; e=dot(A,B),f=dot(AT,BT) 2. 叉积运算 在数学描述中,向量A、B 的叉积是一新向量C ,C 的方向垂直于A 与B 所决定的平面A = Axi+Ayj+Azk B = Bxi+Byj+Bzk C = AB=(AyBz-AzBy)i+AzBx-AxBz)j+(AxBy-AyBx)k叉积运算的函数是:cross(A,B),该函数计算的是 A、B 叉积后各分量的元素值,且 A、B只能是三维向量

9、。 例:A=1:3,B=3:5 E=cross(A,B)3. 混合积运算 综合运用上述两个函数就可实现点积和叉积的混合运算,该运算也只能发生在三维向量之间2.3 矩 阵 运 算 2.3.2 矩阵元素的表示及相关操作 1. 元素的下标表示法 (1) 全下标方式:用行下标和列下标来标示矩阵中的一个元素,这是一个被普遍接受和采用的方法。对一个m n 阶的矩阵A ,其第i 行、第j 列的元素用全下标方式就表示成A(i,j)。 (2) 单下标方式:将矩阵元素按存储次序的先后用单个数码顺序地连续编号。仍以m n阶的矩阵A 为例,全下标元素A(i , j )对应的单下标表示便是A(s),其中s = (j -

10、 1)mi 。 例:元素的下标表示A=1 2 3;6 5 4;8 7 9 A = 1 2 3 6 5 4 8 7 9 A(2,3),A(6) %显示矩阵中全下标元素A(2,3)和单下标元素A(6)的值 ans = 4 ans = 7 A(1:2,3) %显示矩阵A 第1、2 两行的第3 列的元素值 ans = 3 4 A(6:8) %显示矩阵A 单下标第68 号元素的值,此处是用一向量表示一下标区间 ans = 7 3 4 2. 矩阵元素的赋值 (1) 全下标方式:在给矩阵的单个或多个元素赋值时,采用全下标方式接收。(2) 单下标方式:在给矩阵的单个或多个元素赋值时,采用单下标方式接收。(3)

11、 全元素方式:将矩阵B 的所有元素全部赋值给矩阵A ,即A (:)= B ,不要求 A 、B同阶,只要求元素个数相等。 例:1-全下标接收元素赋值clear %不要因工作空间中已有内容干扰了后面的运算 A(1:2,1:3)=1 1 1;1 1 1 %可用一矩阵给矩阵A的12行13 列的全部元素赋值为1 A = 1 1 1 1 1 1 A(3,3)=2 %给原矩阵中并不存在的元素下标赋值会扩充矩阵 阶数,注%意补0 的原则 A = 1 1 1 1 1 1 0 0 2 2-单下标接收元素赋值A(3:6)= -1 1 1 -1 % 可用一向量给单下标表示的连续多个矩阵元素赋值 A = 1 1 1 1

12、 1 1 -1 -1 2 A(3)=0;A(6)=0 %用单下标对单一元素赋值 A = 1 1 1 1 1 1 0 0 2 3-全元素方式赋值 A(:)=1:9 %将一向量按列之先后赋值给矩阵A,A 在上例已被引用A = 1 4 7 2 5 8 3 6 9 A(3,4)=16,B=11 12 13;14 15 16;17 18 19;0 0 0 %扩充矩阵A,生成43 阶矩阵B A = 1 4 7 0 2 5 8 0 3 6 9 16 B = 11 12 13 14 15 16 17 18 19 0 0 0 A(:)=B %将43 阶矩阵B 按列全部赋给34 阶矩阵A A = 11 0 18

13、16 14 12 0 19 17 15 13 0 3. 矩阵元素的删除 在MATLAB中,可以用空矩阵(用 表示)将矩阵中的单个元素、某行、某列、某矩阵子块及整个矩阵中的元素删除。 例:clear A(2:3,2:3)=1 1;2 2 %生成一新矩阵A A = 0 0 0 0 1 1 0 2 2 A(2,:)= %删除A 矩阵的第2 行,“:”可表示所有行或列 A = 0 0 0 0 2 2 A(1:2)= %删除新矩阵A 的前两个单下标元素,矩阵变成向量 A = 0 2 0 2 A= %删除所有元素 A = 2.3.3 矩阵的创建 (1) 矩阵的所有元素必须放在方括号()内; (2) 每行的

14、元素之间需用逗号或空格隔开; (3) 矩阵的行与行之间用分号或回车符分隔; (4) 元素可以是数值或表达式。 1. 直接输入法:在命令行提示符“”后,直接输入一矩阵的方法即是直接输入法。2. 抽取法:抽取法是从大矩阵中抽取出需要的小矩阵( 或子矩阵) 。1) 用全下标方式 clear A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 B=A(1:3,2:3) %取矩阵A行数为13,列数为23的元素构成子矩BB = 2 3 6 7 10 11 C=A(1 3,2 4) %取矩阵A

15、行数为1、3,列数为2、4的元素构成子矩阵C C = 2 4 10 12 D=A(4,:) %取矩阵A 第4 行,所有列,“:”可表示所有行或列 D = 13 14 15 16 E=A(2 4,end) %取2、4 行,最后列,用“end ”表示某一维数中的最大值 E = 8 16 2) 用单下标方式 clear A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 B=A(4:6;3 5 7;12:14) B = 13 2 6 9 2 10 15 4 8 %从矩阵A 中取出单下标

16、46的元素做第1行,单下标3、5、7这3个元素做第2行,单下标1214的元素做第3行,生成一33阶新矩阵B3. 拼接法 行数与行数相同的小矩阵可在列方向扩展拼接成更大的矩阵 A=1 2 3;4 5 6;7 8 9,B=9 8;7 6;5 4,C=4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 B = 9 8 7 6 5 4 C = 4 5 6 7 8 9 E=A B;B A %行列两个方向同时拼接,请留意行、列数的匹配问题 E = 1 2 3 9 8 4 5 6 7 6 7 8 9 5 4 9 8 1 2 3 7 6 4 5 6 5 4 7 8 9 F=A;C %A、C 列

17、数相同,沿行向扩展拼接 1 2 3 4 5 6 7 8 9 4 5 6 7 8 9 4. 函数法 常用工具矩阵生成函数函 数 功 能zeros(m,n) 生成mn 阶的全0 矩阵 ones(m,n) 生成mn 阶的全1 矩阵 rand(m,n) 生成取值在01 之间满足均匀分布的随机矩阵randn(m,n) 生成满足正态分布的随机矩阵 eye(m,n) 生成mn 阶的单位矩阵 特殊矩阵生成函数 函 数 功 能 函 数功 能 compan Companion 矩阵 magic 魔方矩阵gallery Higham测试矩阵 pascal 帕斯卡矩阵 hadamard Hadamard矩阵 ross

18、er 经典对称特征值测试矩阵 hankel Hankel 矩阵 toeplitz Toeplitz矩阵 hilb Hilbert 矩阵 vander 范德蒙矩阵 invhilb 反Hilbert 矩阵 wilkinson Wilkinsons 特征值测试矩阵 例:用函数生成矩阵A=ones(3,4),B=eye(3,4),C=magic(3) A = 1 1 1 1 1 1 1 1 1 1 1 1 B = 1 0 0 0 0 1 0 0 0 0 1 0 C = 8 1 6 3 5 7 4 9 2 format rat;D=hilb(3),E=pascal(4) %rat的数值显示格式可将小数用

19、分数表示 D = 1 1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5 E = 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 n 阶魔方矩阵的特点是每行、每列和两对角线上的元素之和各等于(n3+n )/2。例如上例中3 阶魔方阵每行、每列和两对角线元素和为 15 。希尔伯特矩阵的元素在行、列方向和对角线上的分布规律是显而易见的,而帕斯卡矩阵在其副对角线及其平行线上的变化规律实际上就是中国人称为杨辉三角而西方人称帕斯卡三角的变化规律。 5. 拼接函数和变形函数法 拼接函数法是指用cat 和repmat 函数将多个或单个小矩阵或沿行、或沿列方向拼接成一个大矩阵

20、。 cat 函数的使用格式是:cat(n,A1,A2,A3,),n=1 时,表示沿行方向拼接;n=2 ,表示沿列方向拼接。n 可以是大于2 的数字,此时拼接出的是多维数组,2.4.2节将会加以讨论。repmat 函数的使用格式是:repmat(A,m,n) ,m 和n 分别是沿行和列方向重复拼接矩阵A 的次数。 例: A1=1 2 3;9 8 7;4 5 6,A2=A1. A1 = 1 2 3 9 8 7 4 5 6 A2 = 1 9 4 2 8 5 3 7 6 cat(1,A1,A2,A1) % 沿行向拼接 ans = 1 2 3 9 8 7 4 5 6 1 9 4 2 8 5 3 7 6

21、1 2 3 9 8 7 4 5 6 cat(2,A1,A2) %沿列向拼接 ans = 1 2 3 1 9 4 9 8 7 2 8 5 4 5 6 3 7 6 repmat(A1,2,2) ans = 1 2 3 1 2 3 9 8 7 9 8 7 4 5 6 4 5 6 1 2 3 1 2 3 9 8 7 9 8 7 4 5 6 4 5 6 repmat(A1,2,1) ans = 1 2 3 9 8 7 4 5 6 1 2 3 9 8 7 4 5 6 repmat(A1,1,3) ans = 1 2 3 1 2 3 1 2 3 9 8 7 9 8 7 9 8 7 4 5 6 4 5 6 4

22、 5 6 变形函数法主要是把一向量通过变形函数reshape变换成矩阵,当然也可将一个矩阵变换成一个新的、与之阶数不同的矩阵。reshape函数的使用格式是:reshape(A,m,n),m 和n 分别是变形后新矩阵的行列数。 例:A=linspace(2,18,9) A = 2 4 6 8 10 12 14 16 18 B=reshape(A,3,3) %注意新矩阵的排列方式,从中体会矩阵元素的存储次序 B = 2 8 14 4 10 16 6 12 18 a=20:2:24;b=a.; %生成3 个元素的列向 b,便于将矩阵 B 扩展成 34 阶的矩阵 C C=B b,D=reshape(

23、C,4,3) %将34 阶的矩阵C 变形成43 阶的矩阵D C = 2 8 14 20 4 10 16 22 6 12 18 24 D = 2 10 18 4 12 20 6 14 22 8 16 24 6. 加载法 加载用的菜单是命令窗口中的File|Import Data ,而命令则是load 。例: clear load sl2_19 %从外存中加载事先保存在可搜索路径中的数据文件sl2_19.mat who %询问加载的矩阵名称,参见1.8 节表1.8 的命令 Your variables are: A A %显示加载的矩阵内容 A = 4 5 6 7 1 2 3 4 9 8 7 6

24、7. M 文件法 M 文件法和加载法其实十分相似,都是将事先保存在外存中的矩阵读入内存工作空间中,不同点在于加载法读入的是数据文件(.mat) ,而M 文件法读入的是内容仅为矩阵的.m文件。 2.3.4 矩阵的代数运算 1. 求矩阵行列式的值 由函数det(A) 实现。 A=3 2 4;1 -1 5;21 3,D1=det(A) A = 3 2 4 1 -1 5 2 -1 3 D1 = 24 2. 矩阵加减、数乘与乘法 A=1 3;2 1;B=3 0;1 2; A+B ans = 4 3 3 1 2*A ans = 2 6 4 -2 2*A-3*B ans = -7 6 1 -8 A*B an

25、s = 6 6 5 -2 3. 求矩阵的逆矩阵 只需调用函数inv(A) 即可实现。 A=1 0 1;2 1 2;0 4 6 A = 1 0 1 2 1 2 0 4 6 format rat;A1=inv(A) A1 = -1/3 2/3 -1/6 -2 1 0 4/3 -2/3 1/6 4. 矩阵的除法 左除即AB=inv(A)*B,右除即 A/B=A*inv(B)。5. 求矩阵的秩 求秩运算是由函数rank(A)完成。 6. 求矩阵的特征值与特征向量 求矩阵A 的特征值和特征向量的数值解,有两个函数可用:一是X,=eig(A),另一是X,=eigs(A)。但后者因采用迭代法求解,在规模上最

26、多只给出6个特征值和特征向量。 A=1 -3 3;3 -5 3;6 -6 4, X,Lamda=eig(A) A = 1 -3 3 3 -5 3 6 -6 4 X = 0.4082 0.4082 -0.1203 0.4082 -0.4082 -0.7595 0.8165 -0.8165 -0.6393 Lamda = 4.0000 0 0 0 -2.0000 0 0 0 -2.0000 Lamda 用矩阵对角线方式给出了矩阵 A 的特征值为1 =4,2 =3 = -2 。而与这些特征值相应的特征向量则由X 的各列来代表,X 的第1 列是1的特征向量,第 2 列是2 的,其余类推。必须说明,矩阵

27、 A 的某个特征值对应的特征向量不是有限的,更不是唯一的,而是无穷的。所以,例中结果只是一个代表向量而已。有关知识请参阅线性代数教材。 7. 矩阵的乘幂与开方 矩阵的乘幂运算 An,矩阵的开方运算由函数sqrtm(A) 实现。8. 矩阵的指数与对数 矩阵指数运算的函数有多个,例如 expm( )、expm1( ) 、expm2( ) 和expm3( ) 等,其中最常用的是expm(A) ;而对数运算函数则是logm(A) 。 9. 矩阵转置 单纯的转置运算可以用函数transpose(Z)实现10 矩阵结构形式提取与翻转函数 函数功能Triu(A)提取矩阵A的右上三角元素,其余元素补0Tril(A)提取矩阵A的左下三角元素,其余元素补0Diag(A)提取矩阵A的对角线元素Flipud(A)矩阵A沿水平轴上下翻转Fliplr(A)矩阵A沿垂直轴左右翻转Flipdim(A,dim)矩阵A沿特定轴翻转。Dim =1,按行翻转;dim=2,按列翻转Rot90(A)矩阵A整体逆时针旋转900 a=linspa

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2