Matlab在工程中的应用_第1页
Matlab在工程中的应用_第2页
Matlab在工程中的应用_第3页
Matlab在工程中的应用_第4页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab在工程中的应用ApplicationofMatlabinEngineering主讲:王立地沈阳农业大学信息与电气工程学院wanglidi@gmail.co程简介本课程为工学门类农业电气化与自动化、电子信息工程专业本科生的专业课。主要讲授包括MATLAB基本操作,科技绘图,MATLAB程序设计,文件输入输出,图形用户界面设计、MATLAB辅助统计分析、控制系统分析、数字信号处理、图像处理、电力系统仿真等内容。Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美等高校,Matlab已经成为线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。推荐使用教材MATLAB及在电子信息课程中的应用电子工业出版社2006年8月唐向宏定价:¥25.9

MATLAB及在电子信息课程中的应用——第3版电子工业出版社2006年3月陈怀琛定价:¥29

第一章MATLAB简介与编辑环境1.1MATLAB简介1.2启动和退出MATLAB1.3MATLAB主体界面1.4菜单栏介绍1.1MATLAB简介MATLAB-----matrixlaboratory“矩阵实验室”美国Mathworks公司,1984年。MATLAB的特点1.功能强大2.语言简单3.扩充能力强、可开发性强4.编程易、效率高1.2启动和退出MATLAB1.2.1启动MATLAB双击系统桌面的MATLAB图标开始菜单的程序选项中选择MATLAB命令1.2.2退出MATLAB1.3MATLAB主体界面MATLAB主窗口、命令窗口、历史窗口、当前目录窗口、工作间管理窗口。MATLAB主窗口:其他的几个窗口都包含在这个大的主窗口中命令窗口:CommandWindow历史窗口:CommandHistory当前目录窗口:CurrentDirectory工作间管理窗口:Workspace1.4菜单栏介绍1.4.1文档菜单1.4.2编辑菜单1.4.3调试菜单1.4.4视图菜单1.4.5窗口菜单1.4.6帮助菜单第二章MATLAB常用数学方法2.1向量和向量运算2.2矩阵和矩阵运算2.3数组和数组运算2.4线性代数2.5函数和多项式2.6微积分2.1向量和向量运算2.1.1常用的数学常量2.1.2向量的表示2.1.3向量的各种运算2.1.1常用的数学常量ans—若用户未定义变量名,系统用于计算结果存储的默认变量名pi—圆周率的近似值3.1415926inf或Inf—表示正无穷大,定义为1/0NaN或nan—非数eps—容差变量,定义为1.0到最近浮点数的距离i,j—虚数单位(i=j)2.1.2向量的表示向量的生成用冒号生成向量linspace()生成用冒号生成向量>>a=1:10>>b=2:0.2:4linspace()生成>>linspace(1,10)%生成线性等分100元素的向量。>>linspace(1,10,5)%生成固定元素个数的向量。2.1.3向量的各种运算算术运算符:+-*/\^关系运算符:6种<<=>>===~=逻辑运算符&|~2.2矩阵和矩阵运算2.2.1矩阵的表示2.2.2矩阵的运算2.2.3矩阵的操作2.2.1矩阵的表示矩阵的下标矩阵的创建特殊矩阵的生成矩阵的下标A(i,j)表示A的第i行,第j列的元素。行列号都从1开始。矩阵元素的表示矩阵名(元素的行下标,列下标)如:c(2,3)c(1,2),w(3)矩阵的创建直接输入法创建矩阵元素在[]内;元素之间用逗号或空格分开;行之间用分号或回车分开;元素不含未定义的变量。特殊矩阵的生成全零阵单位阵全1阵均匀分布随机矩阵正态分布随机矩阵命令全零阵函数zeros格式B=zeros(n)%生成n×n全零阵B=zeros(m,n)%生成m×n全零阵B=zeros([mn])%生成m×n全零阵B=zeros(d1,d2,d3…)%生成d1×d2×d3×…全零阵或数组B=zeros([d1d2d3…])%生成d1×d2×d3×…全零阵或数组B=zeros(size(A))%生成与矩阵A相同大小的全零阵>>zeros(3)命令单位阵函数eye格式Y=eye(n)%生成n×n单位阵Y=eye(m,n)%生成m×n单位阵Y=eye(size(A))%生成与矩阵A相同大小的单位阵eye():产生单位阵。>>eye(3)命令全1阵函数ones格式Y=ones(n)%生成n×n全1阵Y=ones(m,n)%生成m×n全1阵Y=ones([mn])%生成m×n全1阵Y=ones(d1,d2,d3…)%生成d1×d2×d3×…全1阵或数组Y=ones([d1d2d3…])%生成d1×d2×d3×…全1阵或数组Y=ones(size(A))%生成与矩阵A相同大小的全1阵ones():产生全1矩阵。>>x=ones(2,4)命令均匀分布随机矩阵函数rand格式Y=rand(n)%生成n×n随机矩阵,其元素在(0,1)内Y=rand(m,n)%生成m×n随机矩阵Y=rand([mn])%生成m×n随机矩阵Y=rand(m,n,p,…)%生成m×n×p×…随机矩阵或数组Y=rand([mnp…])%生成m×n×p×…随机矩阵或数组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*clock))%每次重置到不同状态产生[0,1]区间均匀分布的随机阵。>>rand(2,4)例产生一个3×4随机矩阵>>R=rand(3,4)例产生一个在区间[10,20]内均匀分布的4阶随机矩阵>>a=10;b=20;>>x=a+(b-a)*rand(4)命令正态分布随机矩阵函数randn格式Y=randn(n)%n×n正态分布随机矩阵Y=randn(m,n)%m×n正态分布随机矩阵Y=randn([mn])%m×n正态分布随机矩阵Y=randn(m,n,p,…)

%m×n×p×…正态分布随机矩阵或数组Y=randn([mnp…])

%m×n×p×…正态分布随机矩阵或数组Y=randn(size(A))%与矩阵A相同大小的正态分布随机矩阵randn%无变量输入时只产生一个正态分布随机数s=randn('state')%包括正态发生器当前状态的2个元素的向量s=randn('state',s)%重置状态为ss=randn('state',0)%重置发生器为初始状态s=randn('state',j)%对于整数j重置状态到第j状态s=randn('state',sum(100*clock))%每次重置到不同状态例产生均值为0.6,方差为0.1的4阶矩阵>>mu=0.6;sigma=0.1;>>x=mu+sqrt(sigma)*randn(4)2.2.2矩阵的运算加、减、乘法运算符分别为+、-、矩阵除法的运算符有两种“\”和“/”,它们分别表示左除和右除。乘方运算符:^a^p表示a的p次方矩阵的转置’加、减运算运算符:“+”和“-”分别为加、减运算符。运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。例>>A=[1,1,1;1,2,3;1,3,6];B=[8,1,6;3,5,7;4,9,2];A+BA-B乘法运算符:*运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。>>a=ones(1,3);g=ones(3,1);a*g除法运算Matlab提供了两种除法运算:左除(\)和右除(/)。矩阵右除A/B矩阵右除A/B:X*B=A的解,要求A、B的列数相等。>>a=[11112222];>>b=[1111];>>x=a/b矩阵左除A\B矩阵左除A\B:B*X=A的解,要求A、B的行数相等。矩阵乘方运算符:^矩阵转置运算符:′矩阵的逆命令逆函数inv格式Y=inv(X)%求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。>>A=[123;221;343];>>Y=inv(A)或Y=A^(-1)矩阵的秩函数rank格式k=rank(A)%求矩阵A的秩k=rank(A)常用矩阵运算函数size():计算行数和列数>>a=[234534562222]>>d=size(a)>>[m,n]=size(a)length():计算矩阵长度(列数)>>L=length(a)prod():矩阵元素的求积运算>>a=[12345];>>b=[111222333];>>p1=prod(a)>>p2=prod(b)>>p3=prod(b,2)sum():矩阵元素求和>>a=[12345];b=[111222333];>>s1=sum(a)>>s2=sum(b)>>s3=sum(b,2)求矩阵各个元素的总和:sum(sum(二维矩阵))sum(sum(b))max():求矩阵元素的最大值y=max(x)找出x阵列的最大值以y显示[y,i]=max(x)找出x阵列的最大值以y显示,其在x阵列的位置以i显示>>a=[12345];b=[111222333]>>m1=max(a)>>m2=max(b)[m1,N]=max(a)min():矩阵元素最小值>>m4=min(b)mean():矩阵元素的平均值>>m5=mean(b)标准差std2(x)fliplr():实现矩阵的反折运算可用于生成对称信号>>b=0:10>>a=fliplr(b)矩阵元素个数的确定函数numel格式n=numel(a)%计算矩阵A中元素的个数例>>A=[1234;5678];>>n=numel(A)其他fliplr(a)表示将矩阵a进行左右翻转flipud(a)表示将矩阵a进行上下翻转rot90(a)表示将矩阵a的元素旋转90关系运算矩阵的比较关系矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。关系运算是对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置元素置为1,否则置0。> 大于关系< 小于关系== 等于关系>= 大于或等于关系<= 小于或等于关系~= 不等于关系>>a=[123213321]>>b=[222222

222]>>a>=b>>a==2逻辑运算设矩阵A和B都是m×n矩阵或其中之一为标量,在MATLAB中定义了如下的逻辑运算:(1)矩阵的与运算(2)或运算(3)非运算(4)异或运算(1)矩阵的与运算格式A&B或and(A,B)说明A与B对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。(2)或运算格式A|B或or(A,B)说明A与B对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。(3)非运算格式~A或not(A)说明若A的元素为0,则结果元素为1,否则为0。(4)异或运算格式xor(A,B)说明A与B对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为0,否则为1。例>>A=[020304050409]>>B=[010001000100]>>A&B>>A|B>>~A>>~B2.2.3矩阵的操作生成某个矩阵的子阵:A=[12

345

6

7

8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论