MATLAB语言基础PPT精选文档

上传人:新** 文档编号:591929442 上传时间:2024-09-18 格式:PPT 页数:45 大小:154.50KB
返回 下载 相关 举报
MATLAB语言基础PPT精选文档_第1页
第1页 / 共45页
MATLAB语言基础PPT精选文档_第2页
第2页 / 共45页
MATLAB语言基础PPT精选文档_第3页
第3页 / 共45页
MATLAB语言基础PPT精选文档_第4页
第4页 / 共45页
MATLAB语言基础PPT精选文档_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《MATLAB语言基础PPT精选文档》由会员分享,可在线阅读,更多相关《MATLAB语言基础PPT精选文档(45页珍藏版)》请在金锄头文库上搜索。

1、第二章 MATLAB语言基础主要内容:(1)概述(2)创建向量(3)创建矩阵(4)向量和矩阵元素的索引(重点)(5)向量和矩阵的基本操作 (重点)(6)多维数组1(1)概述数组:一组有序数的集合,下标是指数组元素在数组中的序号,每个元素有唯一的下标。向量:从编程语言的角度上看,向量其实就是一维数组;从数学的角度上看,向量就是1N或者N1的矩阵,即行向量或列向量;从物理意义上看,表示不仅有大小还有方向的量,与标量相对应。2矩阵:即线性代数中定义的矩阵的概念,一个二维的数据表,每个元素位于不同的行和列上,从编程语言的角度看,矩阵就是二维数组。vMATLAB的基本运算单位就是矩阵和向量,M语言是向量

2、化编程的语言。vMATLAB中的向量和矩阵都是使用1下标,而不是C语言中的零下标。vMATLAB中矩阵元素是按列存储的,C语言中是按行存储的。3(2)创建向量直接输入法:行向量元素之间用空格(不论个数)或者逗号隔开,列向量元素之间用分号隔开.例: 创建向量 a=1 3 5 8 9a = 1 3 5 8 9 a=1,3,5,6,9a = 1 3 5 6 9 b=1;5;6;8;9b = 1 5 6 8 9v也可采用对行向量取转置的方法构造列向量4使用冒号运算符:一般格式为start : increment : end,分别表示初值、增量和终值。例: a=1:3:9a = 1 4 7v增量可以为负

3、数 a=10:-2:2a = 10 8 6 4 2v增量缺省时默认为1 b=1:6b = 1 2 3 4 5 6v冒号运算符可以与直接输入法混用 a=2 5 6:8a = 2 5 6 7 85使用向量生成函数linspace和logspace :使用linspace生成线性空间向量,均匀间隔的一组数;使用logspace生成对数空间向量,以10为底.例: a=linspace(1,10,6)a = 1.0000 2.8000 4.6000 6.4000 8.2000 10.0000 b=logspace(1,5,5)%指数之间均匀间隔b = 10 100 1000 10000 1000006使

4、用数组编辑器:交互式输入法,比较直观。还有其他办法吗?从已有向量或矩阵中计算得到;从外部文件读入;7(3)创建矩阵直接输入法:一行中元素之间用逗号或者空格隔开,行与行之间用分号隔开。例: M=1 2 3;4 5 6;7 8 9M = 1 2 3 4 5 6 7 8 9 M=1,2,3;4,5,6;7,8,9M = 1 2 3 4 5 6 7 8 98还可以分行输入矩阵元素 M=1 2 3 4 5 6 7 8 9M = 1 2 3 4 5 6 7 8 99使用矩阵生成函数:zeros, ones, eye, rand, randn, magic 例:全零矩阵 M=zeros(3,3)M = 0

5、0 0 0 0 0 0 0 0 全1矩阵 M=ones(3,4)M = 1 1 1 1 1 1 1 1 1 1 1 1 10单位矩阵 M=eye(3,3)M = 1 0 0 0 1 0 0 0 101之间均匀分布的随机矩阵 rand(3,4)ans = 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.791911零均值、方差为1的高斯分布矩阵 M=randn(3,3)M = 0.1746 -0.5883 0.1139 -0.1867 2.1832 1.0668 0.7258 -0.13

6、64 0.0593魔方矩阵(每行每列以及对角线上元素之和相同) magic(4)ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1此外,还有范德蒙矩阵、希尔伯特矩阵、托普利兹矩阵、帕斯卡矩阵等。12使用数组编辑器:交互式输入法,比较直观。还有其他办法吗?从已有向量或矩阵中计算得到;从外部文件读入;13(4)向量和矩阵元素的索引一个元素的访问例:访问向量的一个元素 a=3 6 9 2 8; a(2) %访问第二个元素,单下标ans = 6 a(end)%访问最后一个元素,单下标ans = 814访问矩阵的一个元素 M=1 3 9;6 4 8;3 6 0M =

7、 1 3 9 6 4 8 3 6 0 M(2,2)%双下标ans = 4 M(6)%单下标ans = 6 M(end)%访问最后一个元素,单下标ans = 015若干元素的访问(向量或者矩阵做下标)例:访问向量的若干元素 a=3 6 8 2 4 1; a(1:3)%访问13个元素,单向量下标ans = 3 6 8 a(1 3 5)%访问第1、3、5个元素,单向量下标ans = 3 8 4 a(end-1:end)%访问最后两个元素,单向量下标ans = 4 116访问矩阵的若干元素 M=3 6 8;3 4 5;1 2 6M = 3 6 8 3 4 5 1 2 6 a(1 3;2 4)%使用矩阵

8、做下标ans = 3 8 6 2 a(1:3,3:-1:1)%重复访问向量元素,单向量下标ans = 3 6 8 8 6 3 a(:)%访问向量所有元素ans = 3 6 8 2 4 117 M(1 2,2,3)%访问第1、2行的第2,3列,双向量下标;ans = 6 8 4 5 M(1:3,1:2) %访问第13行的第12列,双向量下标ans = 3 6 3 4 1 2 M(1 3 5)%访问第1、3 、5 个元素,单向量下标ans = 3 1 418 M(1 3;2 4)%矩阵做下标ans = 3 1 3 6 M(:)%访问矩阵的所有元素ans = 3 3 1 6 4 2 8 5 6v向量

9、可以做向量和矩阵的下标,矩阵也可以做向量和矩阵的下标 M(1,:) %访问第1行的所有列ans = 3 6 8v向量和矩阵做下标的访问方法也可以用来创建向量和矩阵19(5)向量和矩阵的基本操作求向量长度和矩阵大小,元素个数例: a=1 3 6 8 4 5a = 1 3 6 8 4 5 length(a)ans = 620 M=1 2 3;4 5 6;7 8 9M = 1 2 3 4 5 6 7 8 9 m,n=size(M)m = 3n = 3vMatlab里的函数可以有多个返回值 numel(M)ans = 921矩阵的拼接和复制例: M=1 2;3 4M = 1 2 3 4 N=5 6 7

10、;8 9 10N = 5 6 7 8 9 10 L=M,Nc = 1 2 5 6 7 3 4 8 9 10 repmat(M,2,2)ans = 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 422矩阵的重组reshape例: a=1:8a = 1 2 3 4 5 6 7 8 M=reshape(a,2,4)M = 1 3 5 7 2 4 6 8 N=reshape(M,4,2)N = 1 5 2 6 3 7 4 8v重组的时候按列序23矩阵的翻转:例: M=1 2 3;4 5 6M = 1 2 3 4 5 6 N=fliplr(M)%左右翻转N = 3 2 1 6 5 4 L=

11、flipud(M)%上下翻转L = 4 5 6 1 2 3 24行列删除:利用空数组例: M=1 2 3;4 5 6;7 8 9M = 1 2 3 4 5 6 7 8 9 M(1,:)=%删除第一行M = 4 5 6 7 8 9 M(:,2)=%再删除第二列a = 4 6 7 925 N=3 6 9;2 8 4;6 5 1N = 3 6 9 2 8 4 6 5 1 N(1:2,:)=%删除第1、2行b = 6 5 126矩阵的转置实数矩阵例: M=1 2 3;4 5 6M = 1 2 3 4 5 6 N=M N = 1 4 2 5 3 6%共轭转置 L=M.L = 1 4 2 5 3 6%转置

12、27复数矩阵例: M=1+2i 2+3i;2+i 1-iM = 1.0000 + 2.0000i 2.0000 + 3.0000i 2.0000 + 1.0000i 1.0000 - 1.0000i N=MN = 1.0000 - 2.0000i 2.0000 - 1.0000i 2.0000 - 3.0000i 1.0000 + 1.0000i L=M.L = 1.0000 + 2.0000i 2.0000 + 1.0000i 2.0000 + 3.0000i 1.0000 - 1.0000i28矩阵的加减乘除法例: M=1 2;3 4M = 1 2 3 4 N=5 6;7 8N = 5 6

13、 7 8 L=M+NL = 6 8 10 12 F=M-NF = -4 -4 -4 -429 K=M*N%矩阵乘法,满足矩阵乘法的规则K = 19 22 43 50 G=M.*N%点乘(数组乘),对应元素相乘G = 5 12 21 32 H=M./N %点除(数组除),对应元素相除H = 0.2000 0.3333 0.4286 0.500030方阵的行列式例: M=1 3 5;2 8 1;3 2 1M = 1 3 5 2 8 1 3 2 1 det(M)ans = -9131方阵求逆例: M=1 3 5;2 8 1;3 2 1M = 1 3 5 2 8 1 3 2 1 N=inv(M)N =

14、 -0.0659 -0.0769 0.4066 -0.0110 0.1538 -0.0989 0.2198 -0.0769 -0.022032矩阵的伪逆当A不是方阵或者是方阵但其行列式值为零的时候,矩阵A没有逆矩阵,但有逆矩阵B,使得A*B*A=AB*A*B=B求伪逆的命令为pinv33矩阵的秩例: M=1 2 3;2 4 6;2 8 4M = 1 2 3 2 4 6 2 8 4 rank(M)ans = 234矩阵的特征值例: M=1 2 3;2 4 6;2 8 4M = 1 2 3 2 4 6 2 8 4 eig(M)ans = 11.8655 -0.0000 -2.865535矩阵的迹矩

15、阵的迹等于矩阵对角线元素之和,也等于矩阵特征值之和;求矩阵迹的命令是trace36基本数学函数运算三角函数sin,cos,asin,acos,tan,cot,atan,acot例:M = 12 23 62 20 31 2 21 14 15 sin(M)ans = -0.5366 -0.8462 -0.7392 0.9129 -0.4040 0.9093 0.8367 0.9906 0.6503v三角函数计算时采用弧度值37指数对数运算exp,power,log,log10,sqrt 例: M=1 3 5;2 5 6;2 4 1M = 1 3 5 2 5 6 2 4 1 exp(M)ans =

16、2.7183 20.0855 148.4132 7.3891 148.4132 403.4288 7.3891 54.5982 2.718338 M=1 3 5;2 5 6;2 4 1M = 1 3 5 2 5 6 2 4 1 power(M,2)ans = 1 9 25 4 25 36 4 16 1 log(exp(M)ans = 1 3 5 2 5 6 2 4 1 sqrt(power(M,2)ans = 1 3 5 2 5 6 2 4 139取整、求模、求余例: M=-1.5 1.2 1.6;6.2 3.8 -8.4M = -1.5000 1.2000 1.6000 6.2000 3.8

17、000 -8.4000 floor(M)%向下取整ans = -2 1 1 6 3 -9 ceil(M)%向上取整ans = -1 2 2 7 4 -8 round(M)ans = -2 1 2 6 4 -8%四舍五入 fix(M)ans = -1 1 1 6 3 -8%向零取整40 N=-5 -8 9;2 6 4 N= -5 -8 9 2 6 4 mod(N,2)ans = 1 0 1 0 0 0 rem(N,2)ans = -1 0 1 0 0 0 M=3 5 8;9 6 7M = 3 5 8 9 6 7 mod(M,3)%求模ans = 0 2 2 0 0 1 rem(M,3)%求余an

18、s = 0 2 2 0 0 1v求模和取余也可以对浮点数进行操作41符号函数例: M=5 -1 0;6 -8 -5M = 5 -1 0 6 -8 -5 sign(M)ans = 1 -1 0 1 -1 -1v除了基本数学函数(作用与矩阵各元素)外,还有一些直接作用于矩阵的超越函数如sqrtm,logm,expm等。42(6)多维数组以三维数组为例,第一维称为行,第二维称为列,第三维称为页逐页创建 M(:,:,1)=1 2;3 4; M(:,:,2)=5 6;7 8; M(:,:,3)=9 10;11 12; 43 MM(:,:,1) = 1 2 3 4M(:,:,2) = 5 6 7 8M(:,:,3) = 9 10 11 1244利用cat命令 M=1 2;3 4; N=5 6;7 8; cat(3,M,N)ans(:,:,1) = 1 2 3 4ans(:,:,2) = 5 6 7 8例如:一幅彩色图像就是一个三维数组,每一页代表RGB分量中的一个。imread:图像读取imshow:图像显示45

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号