版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《MATLAB基础与应用》课件《MATLAB基础与应用》课件《MATLAB基础与应用》课件目录前言第1章MATLAB概述第2章MATLAB基本语法第3章MATLAB基本绘图第4章MATLAB数值计算第5章MATLAB基本程序设计第6章MATLAB图形用户界面设计第7章MATLAB符号数学工具箱第8章Simulink仿真第9章MATLAB在信号与系统中的应用第10章MATLAB在数字信号处理中的应用第11章MATLAB在通信原理中的应用《MATLAB基础与应用》课件《MATLAB基础与应用》课件1目录
前言第1章MATLAB概述第2章MATLAB基本语法第3章MATLAB基本绘图第4章MATLAB数值计算第5章MATLAB基本程序设计第6章MATLAB图形用户界面设计第7章MATLAB符号数学工具箱第8章Simulink仿真
第9章MATLAB在信号与系统中的应用第10章MATLAB在数字信号处理中的应用第11章MATLAB在通信原理中的应用目录前言2前言
(一)为什么开设本课程
由于MATLAB的独特优势,开设本课程:2、简单易用的程序语言3、强大的科学计算及数据处理能力4、出色的图形处理功能1、友好的工作平台和编程环境5、工程师必备的工具前言(一)为什么开设本课程由于MATLAB的独特优势3前言
(二)课程特点1、是一门计算机语言课2、是一门实践性很强的课3、是一门选修课前言(二)课程特点1、是一门计算机语言课2、是一门4前言
(三)课程内容1、MATLAB概述2、MATLAB基本语法4、MATLAB数值计算3、MATLAB基本绘图5、MATLAB基本程序设计7、MATLAB工具箱(符号数学)8、Simulink
与MATLAB应用6、MATLAB图形用户界面设计前言(三)课程内容1、MATLAB概述2、MAT5前言
(五)要求
勤学习、勤实践。多沟通、共提高。(四)课时安排总32学时=16学时授课+16学时实验前言(五)要求勤学习、勤实践。(四)课时安排总36第1章MATLAB概述■MATLAB发展■MATLAB的特点■MATLAB的组成■MATLAB的界面■MATLAB的通用命令主要内容第1章MATLAB概述■MATLAB发展主要内容71.1MATLAB发展1970年代中期,CleveMoler博士开发了:
EISPACK(特征值求解的程序库)LINPACK(解线性方程的程序库)
1970年代后期,CleveMoler编写接口程序:MATLAB,即矩阵(MATrix)和实验室(LABoratory)前3个字母的组合,是“矩阵实验室”的缩写,它是一种以矩阵运算为基础的交互式程序语言。
1.1MATLAB发展1970年代中期,CleveM81.1MATLAB发展1983年春,CleveMoler和JohnLittle用C语言开发了第二代专业版
1984年,两人成立了Mathworks公司,正式把MATLAB推向市场。1.1MATLAB发展1983年春,CleveMole91.1MATLAB发展1988年,推出MATLAB3.x版本(DOS版)。
1993年,推出MATLAB4.0版本(Win3.x)。
1997年,推出MATLAB5.0版(Windows95)。
1999年,推出MATLAB5.3版本R11(流行较广)。
2000年,推出MATLAB6.0版本R12(Win98/Win2000)1.1MATLAB发展1988年,推出MATLAB3.x101.1MATLAB发展
2001年,推出MATLAB6.1版本(克服6.0不支持P4,Winme,汉字等)。2002年,推出MATLAB6.5版本R13(速度更快、性能更优越等)。2004年,推出MATLAB7版本R14
●MATLAB主页:1.1MATLAB发展2001年,推出MATLAB6.111.2MATLAB的特点
1、起点高2、人机界面友好3、强大而简易的作图功能4、一流的数值计算功能5、智能化程度高6、强劲的工具箱是一个强大的功能演算性草稿纸难点:函数较多,仅基本部分就有700多个。1.2MATLAB的特点1、起点高2、人机界面友好121.3MATLAB的组成
MATLAB软件由四部分组成:
1、基本部分(核心):程序主体和基本函数(约700多个)。2、专业扩展部分(工具箱):由大量专业函数组成(上千个函数)。已有30多个工具箱。1.3MATLAB的组成MATLAB软件由四部分组成131.3MATLAB的组成
3、符号数学工具箱:基于Maple软件的符号数学引擎。4、仿真工具箱(Simulink):用于建立系统的数学模型和仿真分析等。1.3MATLAB的组成3、符号数学工具箱:4、141.4MATLAB界面
☆命令窗口(commandwindow)☆历史命令窗口(commandhistory)☆当前目录窗口(currentdirectory)☆工作区窗口(workspace)☆已安装部件窗口(launchpad)菜单(Menu)
窗口(Windows)
1.4MATLAB界面☆命令窗口(commandw151.4MATLAB界面
菜单(Menu)命令窗口历史窗口和当前目录窗口工作区窗口和安装部件窗口当前路径1.4MATLAB界面菜单(Menu)命令窗口历史窗口161.5MATLAB通用命令
1、help(帮助)>>help(显示已安装的函数库和工具箱)>>help子目录名/库名/工具箱
如:helpgeneralhelpcomm
>>help函数名
如:helpsin
1.5MATLAB通用命令1、help(帮助)>>171.5MATLAB通用命令
2、lookfor关键字(查找)
如:lookforsound
3、clc(清除命令窗)4、who(列出工作区中的内存变量)whos(列出工作区中的内存变量详情)5、clear(清除工作区中的变量和函数)1.5MATLAB通用命令2、lookfor关键字181.5MATLAB通用命令
6、edit(调用编辑器,编写程序)7、!(运行外部程序)
如:!dir;!calc(计算器)
8、demo(MATLAB演示程序)9、quit(退出MATLAB)10、上下箭头(调出历史命令)1.5MATLAB通用命令6、edit(调用编辑器19内容回顾1、介绍了本课程的特点内容和安排2、MATLAB的发展和特点3、MATLAB的组成和操作界面4、MATLAB的通用命令内容回顾1、介绍了本课程的特点内容和安排20第2章MATLAB基本语法
■变量■矩阵的赋值■矩阵的初等运算■矩阵的基本运算函数■矩阵的逻辑运算主要内容第2章MATLAB基本语法■变量主要内容212.1变量
1、标识符:表示变量名,常量名,函数名和文件名的字符串(1)由字母、数字、下划线等符号组成,第一个字母必须是英文字母。(2)变量和常量最长不要超过19个字符,多余截取。(3)函数和文件名通常不超过8个字符。(4)变量名大小写敏感。2.1变量1、标识符:表示变量名,常量名,函数名和文件名222.1变量
(5)MATLAB中的特殊变量名,应避免使用。例如:ans----默认临时变量pi----πeps----计算机中的最小数inf----无穷大NaN----非数或不定数(如:0/0)i或j----虚数单位2.1变量(5)MATLAB中的特殊变量名,应避免使用。232.1变量
2、变量类型:(1)数值:内部只有一种类型为双精度(8个字节,64位),实数为1个双精度数,复数为两个双精度数。但输出显示格式有8种。可用format命令来改变显示格式。例如:formatshort显示5位数(pi:3.1416)formatlong显示15位数(pi:3.14159265358979)formatbank显示货币格式(pi:3.14)2.1变量2、变量类型:(1)数值:内部只有一种类型为242.1变量
数字显示的8种格式Matlab命令显示形式说明formatlong3.14159265358979316位十进制formatshorte3.1416e+0005位十进制数加指数formatlonge3.141592653589793e+00016位十进制数加指数formathex400921fb54442d1816位十六进制formatbank3.14两位小数format++正、负或零formatrat355/113分数近似formatshort(默认)3.14159二位整数,四位小数2.1变量数字显示的8种格式Matlab命令显示形式说252.1变量
2、变量类型:(2)字符(串):用单引号表示。如:a=’abc’
实际上是一个单个字符的ASCII码组成的行向量。2.1变量2、变量类型:(2)字符(串):用单引号表示262.1变量
3、矩阵◆MATLAB中的变量或常量都代表一个矩阵,所有的变量运算其实都是矩阵运算。单个值实际上是1*1阶矩阵。◆矩阵元素可以是数值(实数或复数)或字符串。◆一个由矩阵表示的变量可以是一个数、一组数、一个文件(如语音)、一幅图象等。2.1变量3、矩阵◆MATLAB中的变量或常量都代表一272.1变量
3、矩阵◆矩阵(Matrix)与数组(Array)的关系:矩阵运算有着严格理论数组运算一般指元素运算2.1变量3、矩阵◆矩阵(Matrix)与数组(Arr282.1变量
4、变量的查看:who/whos5、变量的保存和恢复:save文件名(缺省后缀为.mat)例如:savemyvarload文件名例如:loadmyvar2.1变量4、变量的查看:who/whos5、变量的保292.2矩阵的赋值1、矩阵的直接赋值(1)基本赋值1)使用[]2)同一行元素用空格或‘,’隔开3)不同行用‘;’隔开
例如:a=[123;456](2)复数的赋值:例如:z=1+2i或1+2jz=[1+2i3+4i]z=[13]+[24]*i2.2矩阵的赋值1、矩阵的直接赋值(1)基本赋值(2)302.2矩阵的赋值注意:①赋值结尾为“;”则不显示结果。②一行不够时,可用“…”换行。③矩阵的阶数也可通过下列函数获得:对于一维,m=length(a)为矩阵a的长度。例如:a=[123]length(a)为32.2矩阵的赋值注意:312.2矩阵的赋值注意:③矩阵的阶数也可通过下列函数获得:对于二维,[m,n]=size(a),m为行数,n为列数例如:a=[123;456]size(a)为[23]2.2矩阵的赋值注意:322.2矩阵的赋值2、矩阵元素的赋值(1)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和赋值。例如,a(2,1)=4,若将其改为9,则可用a(2,1)=9。注意:如果元素下标超出原矩阵的维数,矩阵将自动扩大,多出的元素自动为0。
2.2矩阵的赋值2、矩阵元素的赋值(1)元素用(m,n332.2矩阵的赋值2、矩阵元素的赋值(2)给全行或全列赋值:用“:”代替行或列。如:a(4,:)=[11121314]b(:,5)=[5;8;10;12]注意:行数或列数必须与原矩阵相同。2.2矩阵的赋值2、矩阵元素的赋值(2)给全行或全列342.2矩阵的赋值3、矩阵的变换(1)抽取:由原矩阵中的部分元素构成新矩阵。如:b=a([2,4],[1,3])表示第2,4行与第1、3列交叉元素组成新矩阵。2.2矩阵的赋值3、矩阵的变换(1)抽取:由原矩阵中352.2矩阵的赋值3、矩阵的变换(2)抽去:使用空矩阵[](无元素),将矩阵整行/列删除。如:a([2,4],:)=[]将2、4行删除a(:,[2])=[]将第2列删除2.2矩阵的赋值3、矩阵的变换(2)抽去:使用空矩阵362.2矩阵的赋值3、矩阵的变换(3)组合:由多个矩阵组成一个新矩阵,但行列应正好。如:a=[123;456];b=[789;101112];c=[ab];d=[a;b];(4)转置:b=a'(行变列)例如:a=[123;456],则a'=[14;25;36]2.2矩阵的赋值3、矩阵的变换(3)组合:由多个矩372.2矩阵的赋值(5)排列:b=a(:)将所有列排成一列。例如:a=[123;456];a(:)=[1;4;2;5;3;6];若先转置再排列,即实现按行排列。(6)变换函数:fliplr(a)(矩阵左右翻转)(flip翻leftright)flipud(a)(矩阵上下翻转)……3、矩阵的变换2.2矩阵的赋值(5)排列:b=a(:)将所有列排成382.2矩阵的赋值4、间隔赋值(适合批量数据)(1)变量=(first:increment:last)形式如:t=(0:0.1:1)则t=[0,0.1,0.2,…,1](2)线性间隔函数linspace(first,last,num)从first开始到last结束共num个元素,间隔为(last-first)/(num-1)如:t=linspace(0,1,11),t=[0,0.1,…,1]2.2矩阵的赋值4、间隔赋值(适合批量数据)(1)变392.2矩阵的赋值4、间隔赋值(适合批量数据)(3)对数间隔函数logspace(first,last,num)从10first开始到10last结束共num个元素如:t=logspace(0,1,11),t=[100,100.1,…,101]2.2矩阵的赋值4、间隔赋值(适合批量数据)(3)对数402.2矩阵的赋值5、基本矩阵(1)空阵:[](当操作无结果时,返回空阵)(2)全0矩阵:zeros(m,n)例如:zeros(2,3)=[000;000](3)全1矩阵:ones(m,n)(4)单位矩阵:eye(n)(对角线为1的方阵)(4)随机矩阵:rand(m,n)2.2矩阵的赋值5、基本矩阵(1)空阵:[](当操412.2矩阵的赋值6、文件赋值(1)波形文件(.wav):即音频文件读波形文件:a=wavread(‘文件名’),如:a=wavread(‘morse.wav’)写波形文件:wavwrite(a,’文件名’)波形文件播放:用wavplay或sound,如:wavplay(a);2.2矩阵的赋值6、文件赋值(1)波形文件(.wav422.2矩阵的赋值6、文件赋值(2)图象文件(.BMP/JPG…等)读图象文件:a=imread(‘文件名’),如:b=imread(‘sz.jpg’)写图象文件:imwrite(b,’文件名’)显示图象文件:image(a)2.2矩阵的赋值6、文件赋值(2)图象文件(.BMP432.3矩阵的初等运算1、加减法:矩阵的加减就是对应元素的加减。如:a=[123];b=[456],则a+b=[578],如果矩阵与一常数(标量)相加减,则把该常数看成是同阶的矩阵。例如:a+5=[678]2.3矩阵的初等运算1、加减法:矩阵的加减就是对应元素442.3矩阵的初等运算2、乘法(1)矩阵相乘:m×p阶矩阵A与p×n阶矩阵B的乘积是一个m*n阶矩阵。例如:a=[123];b=[456]则:a*b’=[20].(2)矩阵与常数相乘等于每个元素乘以该常数,例:2*a。2.3矩阵的初等运算2、乘法(1)矩阵相乘:m×p阶矩452.3矩阵的初等运算2、乘法(3)矩阵元素相乘(数组相乘):使用“.*”相乘的两个矩阵阶数应相同。例如:a=[123];b=[456]则:a.*b=[41018]2.3矩阵的初等运算2、乘法(3)矩阵元素相乘(数组相462.3矩阵的初等运算3、除法(1)矩阵的除法右除,“/”:A/B=A*B-1(B的逆矩阵inv(B)),B必须是方阵,A与B列应相等。左除,“\”:A\B=A-1*B,A必须是方阵,A与B行应相等。
(2)矩阵除以常数,等于每个元素除以常数,使用普通除法/。2.3矩阵的初等运算3、除法(1)矩阵的除法右除,“472.3矩阵的初等运算3、除法(3)矩阵元素的除法(数组相除):“./”:A./B为A各元素除以B中各元素。“.\”:A.\B=B./A2.3矩阵的初等运算3、除法(3)矩阵元素的除法(数组482.3矩阵的初等运算4、乘方(1)矩阵乘方:(乘方是乘法的扩充,为保证合法性,要求矩阵为方阵)A^标量:例A^2,A^0.2(2)元素的乘方:a)A.^标量:例A=[12],A.^2=[14]2.3矩阵的初等运算4、乘方(1)矩阵乘方:(乘方492.3矩阵的初等运算4、乘方b)标量.^A:例3.^A=[39]c)A.^B:A、B同阶例A=[12],B=[34],则A.^B=[116]2.3矩阵的初等运算4、乘方b)标量502.4矩阵的基本运算函数1、矩阵的运算函数(见附录A)◆指数函数:expm()%变量必须是方阵
◆对数函数:logm()%变量必须是方阵
◆开方函数:sqrtm()%变量必须是方阵
◆三角函数(25个):例如:t=[123],y=sin(t)◆指数/对数函数(7个):例如:exp()◆复数函数(8个):例如:abs()取模◆取整函数(7个):例:round()四舍五入2.4矩阵的基本运算函数1、矩阵的运算函数(见附录A512.4矩阵的基本运算函数2、矩阵元素的运算(基本函数库elfun)1、关系运算:
共6种:〉(大于)〈(小于)〉=(大于等于)〈=(小于等于)==(等于)~=(不等于)◆比较是在元素间进行的。◆矩阵必须同阶◆比较结果仍为矩阵,且元素值为0(假)或1(真)例如:a=[12],b=[21],则a>b结果为[01],a==b结果为[00]2.4矩阵的基本运算函数2、矩阵元素的运算(基本函522.5矩阵的逻辑运算2、逻辑运算:共有四种运算符号:&(与)、|(或)、~(非)、xor(异或)◆矩阵元素值必须为逻辑值(0、1)◆运算是在元素间进行的。◆比较结果仍为矩阵例如:a=[10],b=[01],则:a&b=[00]xor(a,b)=[11]2.5矩阵的逻辑运算2、逻辑运算:共有四种运算符号532.5矩阵的逻辑运算3、逻辑函数:(运算符库ops)例如:
exist(‘a’)---检查变量是否有定义,返回1表示有0表示无all(‘a’)-----检查矩阵中元素是否全为非0,1是0否2.5矩阵的逻辑运算3、逻辑函数:(运算符库ops54内容回顾MATLAB基本语法:1、变量2、矩阵的赋值3、矩阵的初等运算4、矩阵的基本运算函数5、矩阵的逻辑运算内容回顾MATLAB基本语法:55第3章MATLAB基本绘图)■基本二维绘图■特殊二维绘图■基本三维绘图■特殊三维绘图主要内容第3章MATLAB基本绘图)■基本二维绘图主要内563.1基本二维绘图
MATLAB提供了丰富的绘图函数和绘图工具,一般需要5个步骤。1.曲线数据准备2.指定图形窗口和子图位置可使用Figure命令指定图形窗口,默认时打开Figure1窗口,或使用subplot命令指定当前子图。3.调入绘图命令绘制图形4.设置坐标轴的图形注释5.按指定格式保存或导出图形3.1基本二维绘图MATLAB提供了丰富的绘图函数和573.1基本二维绘图
一、plot-----基本二维绘图函数1、格式1:plot(y)功能:y是一向量,以y中元素的下标为横坐标,元素值作为纵坐标,各点以直线相连。例如:y=[12321];plot(y)3.1基本二维绘图一、plot-----基本二维绘图583.1基本二维绘图
►如果格式1中的y为复数矩阵,则相当于plot(real(y),imag(y))。►如果y为多行或多列矩阵,则绘制多条曲线。例如:y2=[sin(2*pi*t);cos(2*pi*t)];plot(t,y2);2、格式2:plot(x,y)功能:x,y具有相同的长度,绘图时以x元素值为横坐标,y元素值作为纵坐标,各点以直线相连。例如:t=(0:0.05:1);y=sin(2*pi*t);plot(t,y);3.1基本二维绘图►如果格式1中的y为复数矩阵,►如593.1基本二维绘图
3、格式3:plot(x1,y1,x2,y2,…)功能:相当于,plot(x1,y1),plot(x2,y2),…,绘制多条曲线在一个图中。例如:t1=(0.5:0.05:1.5);y1=2*sin(2*pi*2*t1);plot(t,y,t1,y1);3.1基本二维绘图3、格式3:plot(x1,603.1基本二维绘图
4、格式4:plot(y,’s’)plot(x,y,’s’)plot(x1,y1,’s1’,x2,y2,’s2’…)s为一格式字符串,用于设置绘图颜色和线型(见P106)例如;plot(t,y,’*b’);plot(t,y,’xr’,t1,y1,’:k’)3.1基本二维绘图4、格式4:plot(y,’613.1基本二维绘图
二、plotyy----双坐标绘图格式:plotyy(x1,y1,x2,y2)功能:将y1的坐标标在左边,y2标在右边,x1,x2共用横坐标。例如:plotyy(t,y,t1,y1)3.1基本二维绘图二、plotyy----双坐标绘623.1基本二维绘图
三、loglog/semilogx/semilogy---对数坐标绘图功能:与plot用法相同,区别为坐标轴为对数Loglog():X-Y轴均为对数Semilogx():X轴为对数(半对数)Semilogy():Y轴为对数(半对数)例如:yl=(1:1:100);semilogy(yl);3.1基本二维绘图三、loglog/semi633.1基本二维绘图
四、polar----极坐标格式:polar(θ,r)功能:以θ为角度,r为半径绘图。例:x=(0:pi/100:2*pi);yp=abs(sin(x));polar(x,yp)3.1基本二维绘图四、polar----极坐标格式643.1基本二维绘图
五、多曲线绘图控制1、图形保持格式:holdon(off)功能:用于保持当前绘图,以便在同一坐标上再绘制另外图形。例如:plot(t,y);holdon;plot(t1,y1)3.1基本二维绘图五、多曲线绘图控制1、图形保653.1基本二维绘图
2、子图控制格式:subplot(m,n,p)功能:将窗口分成m(行)*n(列)个子图,并指定在第p个子图中绘图例如:subplot(3,2,2);plot(t,y);subplot(3,2,3);plot(t1,y1);3.1基本二维绘图2、子图控制格式:subplot(663.1基本二维绘图
3、窗口控制格式:figure(n)功能:打开一个新窗口用于当前绘图,n为该窗口的句柄(唯一标识),用于在多个窗口中绘图。例如:figure(1);plot(t,y);figure(2);plot(t1,y1);3.1基本二维绘图3、窗口控制格式:figure(673.1基本二维绘图
1、title(‘s’)——给图形加标题
例如:plot(t,y);title(‘sinewave’)
2、xlabel(‘s’)——给x轴加标注例如:xlabel(‘t(s)’)3、ylabel(‘s’)——给y轴加标注例如:ylabel(‘V(mv)’)
六、图形控制
3.1基本二维绘图1、title(‘s’)——683.1基本二维绘图
4、text(x,y,’s’)—在图形指定位置(x,y)加标注
例如:text(0.5,0.8,’t=0.5sv=0.8’)5、
legend(‘s1’,’s2’,…)——添加图例例如:plot(t,y,t1,y1);legend(‘sine’,’cosine’)
6、gridon(off)—打开、关闭坐标网格线例如:gridoff
7、zoomon(off)---允许放大/缩小
3.1基本二维绘图4、text(x,y,’s’)693.1基本二维绘图
8、axis——控制坐标轴的刻度
■axis([xmin,xmax,ymin,ymax])设定坐标轴的最大最小值例如:plot(t,y);axis([-12–22])■axis(‘equal’)将两轴设为相等。■axison(off)显示或关闭坐标轴3.1基本二维绘图8、axis——控制坐标轴的703.2特殊二维绘图二维特殊绘图函数使用方法基本同plot.例如:stem(t,y)2、bar–––绘制直方图
例如:bar(t,y)1、stem––––绘制火柴杆图3、stairs––––绘制阶梯图
例如:stairs(t,y,’r’)
3.2特殊二维绘图二维特殊绘图函数使用方法基本同plo713.2特殊二维绘图4、area––––区域图例如:x=ones(1,5);area(x)
注意同bar的区别5、pie––––饼图
例如:x=[123211];y=[001000];pie(x,y)
还有其它特殊函数。。。3.2特殊二维绘图4、area––––区域图例如:72回顾……PLOT命令的格式格式1:plot(y)格式2:plot(x,y)格式3:plot(x1,y1,x2,y2,…)格式4:plot(y,’s’)plot(x,y,’s’)plot(x1,y1,’s1’,x2,y2,’s2’…)figuresubplot回顾……PLOT命令的格式格式1:plot(y)格式733.3基本三维绘图一、plot3----基本三维曲线1、格式1:plot3(x,y,z)功能:x,y,z具有相同的长度,绘图时将元素值对应的点(x,y,z)以直线相连。
3.3基本三维绘图一、plot3----基本三维曲线74例题13.3基本三维绘图x=0:pi/10:5*pi;y=sin(x);z=cos(x);figure;subplot(2,1,1);plot3(x,y,z);例题13.3基本三维绘图x=0:pi/10:5*p753.3基本三维绘图2、格式2:plot3(x1,y1,z1,x2,y2,z2…)功能:绘制多条曲线例如:plot3(x,y,z,x,z,y)3.3基本三维绘图2、格式2:plot3(x1,y763.3基本三维绘图3、格式3:plot3(x,y,z,’s’)plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’)功能:用于设置绘图颜色和线型字符串意义同plot。例如:plot3(x,y,z,’*r’,x,z,y,’:b’)3.3基本三维绘图3、格式3:plot3(x,y,z773.3基本三维绘图例题2t=0:0.02*pi:2*pi;x=sin(t);y=cos(t);z=cos(2*t);figure;subplot(2,1,1);plot3(x,y,z,'bd');subplot(2,1,2);plot3(x,y,z,'b-',x,y,z,'bd');3.3基本三维绘图例题2t=0:0.02*pi783.3基本三维绘图二、mesh------三维网格图1、格式1:mesh(z)功能:z为二维矩阵,绘图时,以元素下标(x=1:n,y=1:m.)作为X-Y坐标,元素值作为Z坐标,将各点连成网格。
颜色与高度成比例。3.3基本三维绘图二、mesh------三维网格793.3基本三维绘图例题3
figure;subplot(2,1,1);z=eye(10);mesh(z);subplot(2,1,2)z=peaks(20);%高斯分布函数mesh(z);3.3基本三维绘图例题3figure;80Question:如何画一个立体的抽样函数图(sin(r)/r)?3.3基本三维绘图Question:如何画一个立体的抽样函数图(813.3基本三维绘图x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.*X+Y.*Y);z=sin(R)./R;mesh(z);形成了33*33网格矩阵3.3基本三维绘图x=-8:0.5:8;y=x';形823.3基本三维绘图例如:[xx,yy]=meshgrid([1234],[1234])可以使用meshgrid()函数产生网格坐标:格式:[X,Y]=meshgrid(x,y)x,y为向量,X的行为x的拷贝,Y的列是y的拷贝,X,Y同维
3.3基本三维绘图例如:[xx,yy]=meshgr83x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.*X+Y.*Y);z=sin(R)./R;mesh(z);3.3基本三维绘图可替换成:[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);x=-8:0.5:8;y=x';3.3基本三维绘图可843.3基本三维绘图2、格式2:mesh(x,y,z)
功能:x,y,z为三个矩阵,以各元素值为三维坐标点绘图,并连成网格。
3.3基本三维绘图2、格式2:mesh(x,y,z)85画一个球体[xx,yy,zz]=sphere(30);例题73.3基本三维绘图%球体函数figure;[xx,yy,zz]=sphere(30);mesh(xx,yy,zz);画一个球体例题73.3基本三维绘图%球体863.3基本三维绘图画一个高斯分布曲面[x,y,z]=peaks(30);例题8figure;[xx,yy,zz]=peaks(30);mesh(xx,yy,zz);3.3基本三维绘图画一个高斯分布873.3基本三维绘图功能:在网格下画一窗帘(垂直线)例如:meshz(x,y,z)4、格式4:meshz(x,y,z)3、格式3:meshc(x,y,z)功能:在网格下画一等值线图例如:meshc(x,y,z)3.3基本三维绘图功能:在网格下画一窗帘(垂直线)488例题9[x,y,z]=peaks(30);subplot(2,1,1);mesh(x,y,z);meshc(x,y,z);subplot(2,1,2);mesh(x,y,z);meshz(x,y,z);例题9[x,y,z]=peaks(30);893.3基本三维绘图三、surf-------三维曲面图1、格式1:surf(z)或surf(x,y,z)
基本同mesh,只是将直线变为小曲面
例如:surf(x,y,z)3.3基本三维绘图三、surf-------三维曲面903.3基本三维绘图例题10[x,y,z]=peaks(30);subplot(1,2,1);mesh(x,y,z);subplot(1,2,2);surf(x,y,z);3.3基本三维绘图例题10[x,y,z]=pea913.3基本三维绘图三、surf-------三维曲面图2、格式2:surfc(z)surfc(x,y,z)
带等高线的曲面图例如:surfc(x,y,z)3.3基本三维绘图三、surf-------三维曲面923.3基本三维绘图四、三维图形的颜色修饰
颜色是三维图形中的第四维,如果不指定,则以Z轴值为准1、色图函数:colormap(map)通过系统预置的色图,可改变显示的颜色例如:surf(x,y,z);colormap(hot)colormap(spring)3.3基本三维绘图四、三维图形的颜色修饰颜933.3基本三维绘图2、显示颜色条:colorbar例如:surf(x,y,z);colorbar3.3基本三维绘图2、显示颜色条:colorbar943.3基本三维绘图3、颜色的浓淡处理:shading用于改变mesh或surf的小网格或曲面的着色。有三种方法:①shadingflat:去掉黑色线条,根据小方块的值确定颜色(平滑)
②shadinginterp:根据小方块四角的值差补过度点的值确定颜色(内插)
③shadingfaceted(缺省)(小平面)3.3基本三维绘图3、颜色的浓淡处理:shading953.3基本三维绘图五、图形控制1、view(方位角,俯仰角)-----改变视角缺省为(-37.5,30),例如:view(0,0)(看不见Y轴)二维图形控制命令,大都适合三维图形控制2、rotate3don(off)------允许旋转3、hiddenon(off)----隐藏或透视被遮挡的地方3.3基本三维绘图五、图形控制1、view(方位963.4特殊三维绘图1、stem3(x,y,z)-----三维火柴杆图:
例如:stem3(x,y,z)2、bar3(z)------三维条形图(同二维)
例如:bar3([12321])3、pie3(x,p)------三维饼图(同二维):
例如:pie3([123211],[001000])
还有其它特殊函数。。。3.4特殊三维绘图1、stem3(x,y,z)--97动画1、命令:moviein,getframe,movie
2、例子:axisequalM=moviein(16);forj=1:16plot(fft(eye(j+16)));M(:,j)=getframe;end动画1、命令:2、例子:axisequal98动画再键入:movie(M,5)Matlab就把M中图形播放5遍。动画再键入:99内容回顾MATLAB基本绘图:1、基本二维绘图2、特殊二维绘图3、基本三维绘图4、特殊三维绘图内容回顾MATLAB基本绘图:100第4章MATLAB数值计算
■基本的数据分析■矩阵函数■多项式运算■函数和数值积分■数据分析■稀疏矩阵主要内容第4章MATLAB数值计算■基本的数据分析主要内容1014.1矩阵函数一、基本数据分析函数功能max求各列最大值min求各列最小值mean求各列平均值std求各列标准差median求各列中间元素sum求各列元素和注:Matlab的基本数据处理功能是按列进行的。4.1矩阵函数一、基本数据分析函数功能max求各列最1024.1矩阵函数二、矩阵函数
■矩阵的分析计算:求矩阵的行列式、秩、逆矩阵、特征向量等等;
■矩阵的各种分解:(将一个大矩阵分解为多个简单矩阵的连乘)如:三角分解、正交分解、奇异值分解等。
4.1矩阵函数二、矩阵函数■矩阵的分析计算:1034.1矩阵函数二、矩阵函数
■矩阵的交集运算:格式:intersect(A,B)功能:返回值为向量A,B的公共部分。■矩阵的并集运算:格式:union(A,B)功能:返回值为向量A,B的公共部分。4.1矩阵函数二、矩阵函数■矩阵的交集运算:1044.1矩阵函数三、线性方程组的求解(应用矩阵函数)
线性方程组一般形式:AX=B(A为n×m矩阵)当n=m时,此方程成为“恰定”方程当n>m时,此方程成为“超定”方程(3)当n<m时,此方程成为“欠定”方程
4.1矩阵函数三、线性方程组的求解(应用矩阵函数)线性1054.1矩阵函数三、线性方程组的求解(应用矩阵函数)
1、恰定方程组的解(有唯一的一组解)
AX=BA-1AX=A-1BX=A-1B=A\B有两种求解方法:(1)X=inv(A)*B(速度较慢)(2)X=A\B(速度快,精度高)例x1+2x2=82x1+3x2=13
A=[1,2;2,3];B=[8;13];X=inv(A)*BXX=A\B4.1矩阵函数三、线性方程组的求解(应用矩阵函数)1、1064.1矩阵函数
2、超定方程组的解(没有精确解)
AX=B(将A变为方阵)A’Ax=A’B
X=(A’A)-1A’B=pinv(A)*B(广义逆)有两种求解方法:(1)X=pinv(A)*B(2)X=A\B(用最小乘方法找一个精确解)4.1矩阵函数2、超定方程组的解(没有精确解)A1074.1矩阵函数
例x1+2x2=12x1+3x2=23x1+4x2=5A=[1,2;2,3;3,4];B=[1;2;5];X=pinv(A)*BXX=A\B4.1矩阵函数例x1+2x2=1A=[1084.1矩阵函数3、欠定方程组的解(有无穷多个解)有两种求解方法:(1)X=pinv(A)*B(具有最小长度或范数的解)(2)X=A\B(具有最多零元素的解)例x1+2x2+3x3=12x1+3x2+4x3=2A=[1,2,3;2,3,4];B=[1;2];X=pinv(A)*BXX=A\B4.1矩阵函数3、欠定方程组的解(有无穷多个解)有两1094.2多项式运算一、多项式的表示一般形式:
用系数向量来表示:p=[anan-1……a1a0]%B(s)=3*s^2+6*s+9%A(s)=2*s^3+4*s^2+6*s+8B=[369];A=[2468];4.2多项式运算一、多项式的表示%B(s)=3*s^21104.2多项式运算二、多项式的运算1、多项式的加减
对应系数相加减,如果系数长度不等,应在前面补零。例如:p1=[123];p2=[135];p3=[13]则:p1+p2=[258]p1+p3=[136]4.2多项式运算二、多项式的运算1114.2多项式运算2、多项式的乘法(数组卷积)4.2多项式运算2、多项式的乘法(数组卷积)1124.2多项式运算2、多项式的乘法格式:conv(p1,p2)(卷积)例如:p1=[11];p2=[12];p3=conv(p1,p2)=[132];4.2多项式运算2、多项式的乘法1134.2多项式运算3、多项式的除法(数组解卷积)格式:[q,r]=deconv(p1,p2)(q商,r余数)例如:p1=[11];p3=[132];[q,r]=deconv(p3,p1)4.2多项式运算3、多项式的除法(数组解卷积)1144.2多项式运算三、多项式的求解1、多项式的求导(微分)格式:polyder(p)例如:p=[1234];polyder(p)的运算结果为[343]4.2多项式运算三、多项式的求解1154.2多项式运算2、多项式的求根
■格式:roots(p)(由多项式求根)例如:p=[132];roots(p)的运算结果为[-2;-1]■格式:poly(r)(由根求多项式)♥当r为向量时,poly把r作为根求出多项式。如:r=[-2;-1],poly(r)的运算结果为[132]♥当r为方阵时,poly(r)即为方阵r的特征多项式
4.2多项式运算2、多项式的求根1164.2多项式运算3、多项式的求值格式:polyval(p,v)(返回当x=v时多项式的值,v可以是复数)例如:p=[123];polyval(p,1)的运算结果为64.2多项式运算3、多项式的求值117Question:求出该系统的频率响应并画出频率特性?Question:求出该系统的频率响应并画出频率特性?118例题clc;clearall;%多项式求值的应用%B(s)=3*s^2+6*s+9%A(s)=2*s^3+4*s^2+6*s+8%H(s)=B(s)/A(s)B=[369];A=[2468];w=linspace(0,10);BB=polyval(B,j*w);AA=polyval(A,j*w);subplot(2,2,1);plot(w,abs(BB./AA));subplot(2,2,3);plot(w,angle(BB./AA));w1=logspace(-1,1);B1=polyval(B,j*w1);A1=polyval(A,j*w1);subplot(2,2,2);semilogx(w1,abs(B1./A1));subplot(2,2,4);semilogx(w1,angle(B1./A1));例题clc;w1=logspace(-1,1);119例题例题1204.2多项式运算四、多项式的拟合多项式的拟合就是用多项式函数所表示的曲线来描述一些已知的点,使这些点尽量逼近曲线。
格式:p=polyfit(x,y,n)x,y为已知的点坐标向量,n为多项式的幂次4.2多项式运算四、多项式的拟合121x=[01020];y=[208040];subplot(2,1,1);plot(x,y,'*r');p=polyfit(x,y,2);subplot(2,1,2);plot((0:20),polyval(p,(0:20)));4.2多项式运算x=[01020];4.2多项式运算122例题例题1234.2多项式运算五、多项式的插值插值是在一些已知点之间插入一些点,使这些点的连线与已知点连线更逼近.
4.2多项式运算五、多项式的插值1244.2多项式运算1、一维插值(平面插值)格式:yi=interp1(x,y,xi,’method’)x,y为已知的点坐标向量,xi,yi为插入点的x和y坐标向量.‘method’:linear(线性,默认)cubic(三次,拐角更光滑)cubicspline(三次样条)4.2多项式运算1、一维插值(平面插值)格式:yi=125%平面插值x=[01020];y=[208040];plot(x,y,'r');yi=interp1(x,y,(0:20),'cubic');holdon;plot((0:20),yi);例题%平面插值例题1264.2多项式运算2、二维插值(立体)格式:zi=interp2(x,y,z,xi,yi,’method’)x,y为已知的点坐标向量,z为矩阵(x,y对应点的值)xi,yi为插入点的X,Y坐标向量‘method’:同上zi为xi,yi的插入值。4.2多项式运算2、二维插值(立体)格式:zi=i127%立体插值x=(-4:1:4);y=x;[x1,y1]=meshgrid(x,y);z=peaks(x1,y1);subplot(2,1,1);mesh(x1,y1,z);xi=(-4:0.2:4);yi=xi';zi=interp2(x,y,z,xi,yi,'cubic');subplot(2,1,2);mesh(xi,yi,zi+20);例题%立体插值例题1284.3函数和数值积分一、函数的绘图及分析1、绘制函数曲线格式:fplot(‘函数名’,lims,’s’)功能:绘制指定函数的曲线,lims为x,y轴的最小最大值,s可指定线形
■函数和数值积分库(funfun)■特殊函数库(specfun)4.3函数和数值积分一、函数的绘图及分析1、绘制函数曲129%函数的绘图subplot(3,1,1);fplot('sin',2*pi*[-11]);subplot(3,1,2);fplot('[sin(x)tan(x)]',2*pi*[-11-11]);subplot(3,1,3);fplot(‘humps’,[01],‘rd’);例题%函数的绘图例题1304.3函数和数值积分2、函数的简易绘图格式:ezplot(‘函数名’,lims)例如:ezplot(‘sin’)ezplot('x^2-x-1');ezplot('sin(t)','cos(t)');(画一椭圆)除ezplot外,还有:ezpolar,ezplot3,ezmesh,ezsurf等。4.3函数和数值积分2、函数的简易绘图131%函数简易的绘图subplot(3,1,1);ezplot('sin');subplot(3,1,2);ezplot('x^2-x-1');subplot(3,1,3);ezplot('sin(t)','cos(t)');例题%函数简易的绘图例题1324.3函数和数值积分3、求函数极小值格式:fmin(‘函数名’,x1,x2)求函数在x=[x1x2]之间的极小值
4、求函数零点格式:fzero(‘函数名’,x0)。求函数在x0附近的过零点。例如:fzero(‘humps’,1)=1.29954.3函数和数值积分3、求函数极小值1334.3函数和数值积分二、特殊函数
特殊的数学函数,如:贝塞尔函数、误差函数等。4.3函数和数值积分二、特殊函数1344.3函数和数值积分三、函数的数值积分1、定积分(一维数值积分)格式:quad(‘函数名’,x1,x2)(或quad8,高阶方法)对函数在区间[x1,x2]内的定积分例如:quad(‘humps’,0,1)=29.8583利用定积分可以求不定积分的数值解4.3函数和数值积分三、函数的数值积分1354.3函数和数值积分三、函数的数值积分2、二重数值积分格式:dblquad(‘函数名’,x1,x2,y1,y2)4.3函数和数值积分三、函数的数值积分1364.3函数和数值积分四、常微分方程的求解(ODE,OrdinaryDifferentialEquation
)
格式:[x,y]=ode23(‘函数名’,x0,xn,y0)(2,3阶)或ode45(4,5阶)函数名为微分方程名(含x,y)x0,xn为x区间,y0为y初值。4.3函数和数值积分四、常微分方程的求解1374.3函数和数值积分四、常微分方程的求解例如:求微分方程:dy/dx=-3y+2x,y(1)=2区间为[1,3]的解首先建立函数:f=myde(x,y)(myde.m)f=-3*y+2*x[x,y]=ode23(‘myde’,1,3,2)4.3函数和数值积分四、常微分方程的求解1384.4数据分析和傅立叶变换一、数据的基本分析(按列分析)1、求最大最小值:max(data)/min(data)例如:a=[123;234;456];max(a)=[456]2、求平均值:mean(data)
例如:mean(a)=[2.333.334.33]3、求和:sum(data)例如:sum(a)=[71013]4、差分:diff(data)(后面元素-前面元素值)例如:diff(a)=[111;222]4.4数据分析和傅立叶变换一、数据的基本分析(按列1394.4数据分析和傅立叶变换二、相关与卷积
对两组数据(或两个信号),可求其相关、协方差和卷积等1、求协方差:
cov(x)求x的协方差阵cov(x,y)求x,y的协方差2、求相关系数corrcoef(x)求x的自相关阵corrcoef(x,y)求x,y的互相关系数4.4数据分析和傅立叶变换二、相关与卷积1404.4数据分析和傅立叶变换二、相关与卷积
3、求卷积conv(x,y)4.4数据分析和傅立叶变换二、相关与卷积1414.4数据分析和傅立叶变换三、傅立叶变换可对数据(离散信号)求傅立叶变换
1、离散傅立叶变换:fft(x)对序列x求DFTfft(x,N)对序列x求FFT例如:x=[1234]y=fft(x)=[10-2+2i-2-2-2i]2、离散傅立叶反变换:
ifft()同上。4.4数据分析和傅立叶变换三、傅立叶变换1424.5稀疏矩阵工程中会遇到很大的矩阵,其元素大多数为0。描述这类矩阵时,为了节省空间提高速度,只存储非0元素,这种矩阵称为稀疏矩阵。而一般的矩阵称为完全矩阵。稀疏矩阵有自己的理论和方法。稀疏矩阵函数库(sparfun)4.5稀疏矩阵工程中会遇到很大的矩阵,其元素大1434.5稀疏矩阵一、稀疏矩阵的创建1、由完全矩阵得到格式:s=sparse(x)(x是完全矩阵)例如:x=[1002;3030];s=sparse(x)4.5稀疏矩阵一、稀疏矩阵的创建144例题例题1454.5稀疏矩阵2、直接创建格式:s=sparse(i,j,v,m,n)i,j为非0元素行下标和列下标向量,v是非0元素值向量。m,n是待生成稀疏矩阵的行数和列数。4.5稀疏矩阵2、直接创建1464.5稀疏矩阵例如:s=sparse([1122],[1413],[1233],2,4);(1,1)1(2,1)3(2,3)3(1,4)24.5稀疏矩阵例如:1474.5稀疏矩阵二、稀疏矩阵的运算1、利用初等运算的命令
(如:四则运算,求逆等)例如:a=[1002];b=[0203];sa=sparse(a);sb=sparse(b);(sa+sb)=?2、必要时,转为完全矩阵,
格式:full(s)
实验二4.5稀疏矩阵
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年学前班班主任工作计划样本
- 2024年手术室工作计划书
- 教科文卫体办公室工作计划
- 行政审批服务局2024年工作总结及来年工作计划
- 理财团队经理工作计划
- 2024年社团工作计划例文
- 中学语文老师个人工作计划
- 2024初一地理老师工作计划
- 一:移动年度工作总结计划工作思路
- 《儿童牙病》课件
- 市政道路维修改造工程施工设计方案
- 《戒了吧-拖延症》课件
- 2024年年度采购工作计划范文(三篇)
- 煤矿“三违”管理制度
- 实验室安全教育课件
- 城乡规划师《城乡规划原理》真题(附答案)
- 花城版二年级音乐上册全册教案
- 《中小学校建筑设计规范》-20211120211546
- 中国普通食物营养成分表一览
- GB/T 44621-2024粮油检验GC/MS法测定3-氯丙醇脂肪酸酯和缩水甘油脂肪酸酯
- 博弈论完整版本
评论
0/150
提交评论