MATLAB与计算机仿真课件第3章-MATALB基本操作_第1页
MATLAB与计算机仿真课件第3章-MATALB基本操作_第2页
MATLAB与计算机仿真课件第3章-MATALB基本操作_第3页
MATLAB与计算机仿真课件第3章-MATALB基本操作_第4页
MATLAB与计算机仿真课件第3章-MATALB基本操作_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB与计算机仿真开课院系:长安大学汽车学院主讲人:高扬第3章MATLAB基本操作3.1常用语法及指令3.2MATLAB的数据类型3.3MATLAB的基本语法3.1常用语法及指令1.常用数学函数MATLAB提供的基本初等函数包括三角函数、指数函数和对数函数、复数函数、取整和求余函数。本节主要提供常用数学函数的快捷查询(教材40-41页),其语法基本为“变量名=函数名(值)”,具体用法描述以及相关示例可以查询MATLAB帮助文档2.表达式的基本运算符算术运算数学表达式矩阵运算符加a+ba+b减a-ba-b乘a×ba*ba.*b除a÷ba/bb\aa./bb.\a幂aba^ba.^b圆括号()()3.2MATLAB的数据类型

MATLAB支持8位、16位、32位和64位的有符号和无符号整数数据类型。整数数据类型除了定义范围不同外,具有相同的性质。2.浮点数1.整数MATLAB的默认数据类型是双精度类型(double)。为了节省存储空间,MATLAB也支持单精度数据类型的数组。单精度和双精度数据类型的取值范围和精度可以通过命令进行查看3.复数复数由两部分组成:实部和虚部,在MATLAB中虚数单位用i或j表示。创建复数有以下两种方式:1).直接输入法:在命令窗口的“>>”后输入或者新建脚本编写“变量=a+bi”即可创建复数。A=1+2ja=1;b=1;B=a+b*i2).利用complex函数语法格式实现功能c=complex(a,b)返回结果c为复数,其实部为a,虚部为b。输入参数a和b可以为标量,或为维数大小相同的向量、矩阵;输出参数与a和b的结构相同。a和b可以有不同的数据类型,当a和b中只有一个为单精度类型时,返回结果为单精度类型;当a和b中只有一个为整数类型时,则另一个必须为相同的整数类型,或为双精度类型,返回结果c为相同的整数类型。c=complex(a)返回结果c为复数,其实部为a,虚部为0。但是此时c的数据类型为复数。a=int8(5);b=int8(5);c=complex(a,b)b=single(5);c=complex(a,b)4.逻辑变量逻辑数组的创建创建逻辑数组的最简单的方法为直接输入元素的值为true或者false逻辑数组也可以通过逻辑表达式生成A=[true,true,false,true]B=4>9C=logical(10)5.变量1).标识符标识符是表示变量名、常量名、函数名和文件名的字符串。其命名规则有以下几点:(1)标识符由字母、数字、下划线等符号组成,第一个字母必须是英文字母。例如:'a10_2'、'b2_34';(2)变量和常量最长不超过19个字符,多余截取;(3)变量名区分大小写。如pi和Pi是两个不同的变量;(4)MATLAB中的特殊变量名特殊变量名变量名描述ans默认临时变量piπeps计算机中的最小数inf无穷大NaN非数或不定数(如:0/0)i或j虚数单位2).矩阵MATLAB中的变量或常量都代表一个矩阵,所有的变量运算其实都是矩阵运算。单个值实际上是1*1阶矩阵。矩阵元素可以是数值(实数或复数)或字符串。一个由矩阵表示的变量可以是一个数、一组数、一个文件(如语音)、一幅图象等。3).变量的查看、保存和清除MATLAB中利用who/whos语句实现工作空间中变量的查看。语法格式实现功能who/whos按字母顺序列出当前工作空间中所有变量的名称/大小、类型。who-filefilename/whos-filefilename列出指定MAT文件中的变量名称/大小、类型。MATLAB中利用save语句实现工作空间中变量的保存语法格式实现功能save(filename)将当前工作区中的所有变量保存在名为filename的MATLAB®格式二进制文件(MAT文件)中。如果文件名存在,则保存重写文件。save(filename,variables)仅保存由变量指定的结构数组的变量或字段。save(filename,variables,fmt)以指定的fmt文件格式保存指定变量。如果不指定变量,则保存工作区中的所有变量。save(filename,variables,version)将变量保存到指定的MAT文件中。save(filename,variables,'-append')将新变量添加到现有文件中。如果一个变量已经存在于一个MAT文件中,则进行覆盖。利用clear语句实现工作空间中变量的删除语法格式实现功能clear将当前工作区中所有变量删除,并从系统内存中释放。clearname1name2...删除变量、脚本、函数或MEX函数的名称。clear-regexpexpr1expr2...删除与列出的表达式关联的所有变量。clearItemType删除由ItemType表示的变量,例如all、functions或classes。6.数据类型之间的转换在MATLAB中,各种数据类型之间可以互相转化,转化方式为:1)datatype(variable),其中datatype为目标数据类型,variable为待转化的变量;2)cast(x,’type’),将x的类型转化为’type’指定的类型。转化时,如果由高精确度数据类型转化为低精确度数据类型,则对数据进行四舍五入;如果由定义范围大的数据类型转化为定义范围小的数据类型,则返回目标数据类型的上限或下限3.3MATLAB的基本语法1.矩阵的赋值1)矩阵的直接赋值a)基本赋值使用[]

同一行元素用空格或‘,’隔开不同行用‘;’隔开例如:a=[123;456]b)复数的赋值:例如:z=1+2i或1+2jz=[1+2i3+4i]z=[13]+[24]*i注意:

a)赋值结尾为“;”则不显示结果。

b)一行不够时,可用“…”换行。

c)矩阵的阶数也可通过下列函数获得:对于一维,m=length(a)为矩阵a的长度。例如:a=[123]length(a)为3d)矩阵的阶数也可通过下列函数获得:对于二维,[m,n]=size(a),m为行数,n为列数例如:a=[123;456]size(a)为[23]2)矩阵元素的赋值a)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和赋值。例如,a(2,1)=4,若将其改为9,则可用a(2,1)=9。注意:如果元素下标超出原矩阵的维数,矩阵将自动扩大,多出的元素自动为0。b)给全行或全列赋值:用“:”代替行或列。如:a(4,:)=[11121314]b(:,5)=[5;8;10;12]注意:行数或列数必须与原矩阵相同3)间隔赋值(适合批量数据)a)变量=(first:increment:last)形式如:t=(0:0.1:1)则t=[0,0.1,0.2,…,1]b)线性间隔函数linspace(first,last,num)

从first开始到last结束共num个元素,间隔为(last-first)/(num-1)

如:t=linspace(0,1,11),t=[0,0.1,…,1]c)对数间隔函数logspace(first,last,num)

从10first开始到10last结束共num个元素如:t=logspace(0,1,11),t=[100,100.1,…,101]4)文件赋值a)波形文件(.wav):即音频文件读波形文件:

[y,Fs]=audioread(filename)此MATLAB函数从名为filename的文件中读取数据,并返回样本数据y以及该数据的采样率Fs。波形文件播放:sound写波形文件audiowrite(filename,y,Fs)此MATLAB函数以采样率Fs将音频数据矩阵y写入名为filename的文件。filename输入还指定了输出文件格式。输出数据类型取决于音频数据y的输出文件格式和数据类型b)图象文件(.BMP/JPG…等)读图象文件:a=imread(‘文件名’),如:b=imread(‘xx.jpg’)

写图象文件:imwrite(b,’文件名’)

显示图象文件:image(a)2.几种基本矩阵1)空阵:[](当操作无结果时,返回空阵)2)全0矩阵:zeros(m,n)

例如:zeros(2,3)=[000;000]3)全1矩阵:ones(m,n)4)单位矩阵:eye(n)(对角线为1的方阵)5)随机矩阵:rand(m,n)3.矩阵的变换1)抽取:由原矩阵中的部分元素构成新矩阵。如:b=a([2,4],[1,3])

表示示第2,4行与第1、3列交叉元素组成新矩阵。2)抽去:使用空矩阵[](无元素),将矩阵整行/列删除。如:a([2,4],:)=[]将2、4行删除

a(:,[2])=[]将第2列删除3)组合:由多个矩阵组成一个新矩阵,但行列应正好。如:a=[123;456];b=[789;101112];c=[ab];d=[a;b];4)转置:b=a'(行变列)例如:a=[123;456],则a'=[14;25;36]5)排列:b=a(:)将所有列排成一列。例如:a=[123;456];a(:)=[1;4;2;5;3;6];

若先转置再排列,即实现按行排列。6)变换函数:

fliplr(a)(矩阵左右翻转)

flipud(a)(矩阵上下翻转)4.矩阵的初等运算1)加减法:矩阵的加减就是对应元素的加减。如:a=[123];b=[456],则a+b=[578]如果矩阵与一常数(标量)相加减,则把该常数看成是同阶的矩阵。例如:a+5=[678]2)乘法矩阵相乘:m×p阶矩阵A与p×n阶矩阵B的乘积是一个m*n阶矩阵。例如:a=[123];b=[456]则:a*b’=[20].矩阵与常数相乘等于每个元素乘以该常数,例:2*a矩阵元素相乘(数组相乘):使用“.*”相乘的两个矩阵阶数应相同。例如:a=[123];b=[456]

则:a.*b=[41018]3)除法矩阵的除法:右除,“/”:A/B=A*B-1(B的逆矩阵inv(B)),

B必须是方阵,A与B列应相等左除,“\”:A\B=A-1*B,A必须是方阵,A与B行应相等矩阵除以常数,等于每个元素除以常数,使用普通除法/矩阵元素的除法(数组相除):“./”:A./B为A各元素除以B中各元素。“.\”:A.\B=B./A4)乘方:矩阵乘方:(乘方是乘法的扩充,为保证合法性,要求矩阵为方阵)

A^标量:例A^2,A^0.2元素的乘方:

a)A.^标量:例A=[12],A.^2=[14]b)标量.^A:

例:3.^A=[39]c)A.^B:A、B同阶例A=[12],B=[34],则A.^B=[116]5.矩阵的基本运算1)矩阵的分析运算a)求矩阵的行列式:在MATLAB中利用det函数实现矩阵行列式的求解例:A=[1,0,5;2,3,0;1,0,9];d=det(A)b)求解矩阵的秩(rank函数):语法格式实现功能k=rank(A)返回A的奇异值的个数,该值大于默认公差max(size(A))*eps(norm(A))。k=rank(A,tol)返回大于tol的A的奇异值的个数。c)求解矩阵的逆矩阵利用inv函数求解矩阵的逆矩阵,例A=[1,0,5;2,3,0;1,0,9];Y=inv(A)4)求解矩阵的特征值与特征向量(eig函数)语法格式实现功能e=eig(A)返回包含矩阵A特征值的列向量。[V,D]=eig(A)返回特征值的对角矩阵D和列为相应特征向量的矩阵V,使A*V=V*D。[V,D,W]=eig(A)相比于上一种语法,该语法返回矩阵W,其列是对应的左特征向量,使W'*A=D*W',其中左特征向量w满足方程w'A=λw'。e=eig(A,B)返回包含矩阵A和B的广义特征值的列向量。[V,D]=eig(A,B)返回广义特征值的对角矩阵D和列为相应右特征向量的矩阵V,使A*V=B*V*D。[V,D,W]=eig(A,B)相比于上一种语法,该语法返回矩阵W,其列是对应的左特征向量,使W'*A=D*W'*B,其中左特征向量w满足方程w'A=λw'B。2)矩阵的分解a)三角分解:

上三角分解(triu函数):

下三角分解(tril函数):

语法格式实现功能U=triu(X)返回矩阵X的上三角部分。U=triu(X,k)返回矩阵X的第k个对角线上和上面的元素。k=0是主对角线,k>0是主对角线上面,k<0是主对角线下面。语法格式实现功能U=tril(X)返回矩阵X的下三角部分U=tril(X,k)返回矩阵X的第k个对角线上和下面的元素k=0是主对角线k>0是主对角线上面k<0是主对角线下面b)正交分解(qr函数)语法格式实现功能[Q,R]=qr(A)A是一个m×n的矩阵,返回一个m×n的下三角矩阵R和一个m×m的元素值绝对值小于1的矩阵Q,满足A=Q*R。[Q,R]=qr(A,0)A是一个m×n的矩阵,如果m>n,则只计算Q的前n列和R的前n行,如果m<=n,则与[Q,R]=qr(A)相同。c)奇异值分解(svd函数)语法格式实现功能s=svd(A)按降序返回矩阵A的奇异值。[U,S,V]=svd(A)对矩阵A进行奇异值分解,满足A=U*S*V'。[U,S,V]=svd(A,'econ')A是一个m×n的矩阵,对A进行经济规模分解。如果m>n,只计算U的前n列,奇异值S的大小为n乘n;如果m=n,svd(A,'econ')相当于svd(A);如果m<n,只计算V的前m列,奇异值S的大小为m乘m。[U,S,V]=svd(A,0)A是一个m×n的矩阵。如果m>n,svd(A,0)等价于svd(A,'econ');如果m<=n,svd(A,0)等价于svd(A)。3)矩阵的交并集运算a)矩阵的交集运算(intersect函数):

语法格式实现功能C=intersect(A,B)返回矩阵A和矩阵B共有且不重复的数据,返回的矩阵C是按列排序的。C=intersect(A,B,setOrder)按特定顺序返回C。setOrder可以是'

温馨提示

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

评论

0/150

提交评论