MATLAB计算与仿真.ppt
《MATLAB计算与仿真.ppt》由会员分享,可在线阅读,更多相关《MATLAB计算与仿真.ppt(80页珍藏版)》请在三一办公上搜索。
1、信息工程学院,东华理工大学,Matlab计算与仿真技术,什么是 MATLAB?,MATLAB 代表MATrix LABoratory它的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教授线性代数课程发现其他语言很不方便,篇构思开发了MATLAB。最初采用FORTRAN语言编写,20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写.1984年Moler博士和一批数学家及软件专家创建了MathWorks公司,专门开发MATLAB。,MATLAB的发展历史,1984年,MATLAB第1版(DOS版)1992年,MATLAB 4.0版 1994年,MATLAB 4
2、.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2004年,MATLAB 7.0版 2008年,MATLAB 7.6版(支持4线程计算)2009年,MATLAB 7.8版(支持8线程计算)是一种解释性语言,一种演草纸式的科学计算语言,MATLAB 能干什么?,MATLAB可以进行:数学计算、算法开发、数据采集建模、仿真、原型 数据分析、开发和可视化科学和工程图形应用程序的开发,包括图形用户界面的创建。MATLAB广泛应用于:数值计算、图形处理、符号运算、数
3、学建模、系统辨识、小波分析、实时控制、动态仿真等领域。,掌握 MATLAB,MATLAB的构成:MATLAB开发环境:进行应用研究开发的交互式平台MATLAB 数学与运算函数库:用于科学计算的函数MATLAB 语言:进行应用开发的编程工具图形化开发:二维、三维图形开发的工具应用程序接口(API):用于与其他预言混编面向专门领域的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。,MATLAB界面:命令窗口、图形窗口、编辑窗口、帮助窗口。,常用MATLAB系统命令,help 在线帮助who 显示当前变量whos
4、 显示当前变量的详细信息clear 清空工作间的变量和函数pack 整理工作间的内存load 把文件调入变量到工作间save 把变量存入文件中echo 命令回显what 显示指定的matlab文件dir 显示目录内容,基本数学运算,在MATLAB下进行基本数学运算,只需将运算式直接打在提示号 后面,并按Enter键。MATLAB将计算 的结果以ans显示。【例】求 的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容(12+2*(7-4)/32(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans=2 我们也可
5、给运算式的结果设定一个变量x:x=(5*2+1.3-0.8)*102/25 x=42 变量x的值可以在下个语句中调用:y=2*x+1y=85,例:计算,在命令窗口中输入sqrt(18)+(7*sin(pi/6)/(5+cos(pi/6),注意:(1)“”为命令提示符;(2)字母要区分大小写,所有命令和函数名都必 须用小写。,变量命名规则,1.变量名的大小写敏感。2.变量的第一个字符必须为英文字母,而且不能超过31个字符。3.变量名可以包含下连字符、数字,但不能为空格符、标点。注:数值型变量和符号型变量在MATLAB中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号
6、型的命令,即sym(syms)。,MATLAB提供基本的算术运算有:,加(+)、减(-)、乘(*)、除(/)、幂次方(),范例为:5+3,5-3,5*3,5/3,53MATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。如果一个指令过长可以在结尾加上.(代表此行指令与下一行连续),例如:1*2+3*4+5*6+7*8+9*10+11*12+.13*14+15*16 ans=744,MATLAB常用数学函数,三角函数和双曲函数,MATLAB常用数学函数,指数函数,复数函数,其他函数,矩阵的MATLAB表示,直接输入 A=1 2,3;4 5 6;7,8 9冒号
7、操作符 a=0:1:10 a=linspace(0,1,10)a=logspace(1,2,10),MATLAB下矩阵的运算,矩阵的代数运算转置 B=A加减乘 A+B A-B A*B左除 AB 即AX=B的解X=A-1B右除 A/B 即XB=A的解X=AB-1翻转 fliplr flipud rot90乘方 AB点运算 A.*B A./B A.B A.B A.函数,矩阵的逻辑运算,运算符&(与)|(或)(非)结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0 逻辑函数all:当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量any:当向量中至少有一个元素为
8、真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 find:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。,矩阵的比较关系,在MATLAB里共有六个关系运算符 大于=大于等于=等于=不等于关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。,矩阵元素的数据变换,floor(A)向取整 ceil(A)向取整 round(A)四舍五入取整fix(A)按离0近的方向取整,下标操作,矩阵下标(按列优先排列)用两个下标来表示。第i行j列的元素用A(i,j)来表示用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i)。在下标的表达式中使用冒
9、号表示矩阵的一部分。下标引用从序号1开始。,下标操作,A=1 2 3 4 5 6 7 8 9A(4)+A(8),行列删除,B=1 2 3;4 5 6;7 8 9;B(2,:)=B=1 2 3 7 8 9,矩阵的尺寸,为了判断矩阵的尺寸,Matlab提供了以下函数:m,n=size(A)%返回矩阵的行数m和列数nM=size(A)%在矩阵M中返回矩阵的行数、列数 len=length(A)%返回矩阵A行数和列数中的最大值,特殊矩阵,单位矩阵eye(n)%生成n维单位阵eye(m,n)%生成mn的单位阵eye(m,n)%生成mn的单位阵eye(size(A)%生成与 A矩阵同样大小的单位矩阵 on
10、es zeros,特殊矩阵,全1矩阵 ones(n)ones(m,n)ones(m,n)ones(size(A)全零矩阵 zeros(n)zeros(m,n)zeros(m,n)zeros(size(A)随机矩阵 rand(n)rand(m,n)rand(m,n)rand(size(A)生成的随机矩阵的各个元素值在0和1之间。对角阵diag(n)对角阵魔术矩阵magic(n)魔术矩阵的所有行元素和、列元素和、对角线元素和均相等,阵列与矩阵,MATLAB的运算事实上是以阵列(array)及矩阵(matrix)方式在做运算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式.宣告一变量为阵列
11、或是矩阵时,须用中括号 将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成.例如:x=1 2 3 4 5 6 7 8;%一维 1x8 阵列【例】简单矩阵的输入步骤。(1)在键盘上输入下列内容:(以;区隔各列的元素)A=1,2,3;4,5,6;7,8,9(2)按【Enter】键,指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果:A=1 2 3 4 5 6 7 8 9,阵列的运算符号 除了加减符号外其余的阵列运算符号均须多加.符号。阵列运算功能(注意:一定要 多加.符号)+加-减.*乘./左除.右除.次方.转置矩阵的几种基本变换操作(1)通过在矩阵变量后加的方法来表示转
12、置运算 a=10,2,12;34,2,4;98,34,6;a ans=10 34 98 2 2 34 12 4 6,(2)矩阵求逆inv(a)ans=-0.0116 0.0372-0.0015 0.0176-0.1047 0.0345 0.0901-0.0135-0.0045(3)矩阵的特征值u,v=eig(a)u=-0.2960 0.3635-0.3600-0.2925-0.4128 0.7886-0.9093-0.8352 0.4985v=48.8395 0 0 0-19.8451 0 0 0-10.9943,(4)取出上三角和下三角 triu(a)ans=10 2 12 0 2 4 0
13、0 6 tril(a)ans=10 0 0 34 2 0 98 34 6(5)LU 分解 l,u=lu(a)l=0.1020 0.1500 1.0000 0.3469 1.0000 0 1.0000 0 0 u=98.0000 34.0000 6.0000 0-9.7959 1.9184 0 0 11.1000,MatLab图形绘制功能,基本绘图函数,x=0:0.001:10;%0到10的1000个点的x座标 y=sin(x);%对应的y座标 plot(x,y);%绘图(可以设定显示范围),画椭圆,a=0:pi/50:2*pi;X=cos(a)*3;%参数方程Y=sin(a)*2;plot(X
14、,Y);xlabel(x),ylabel(y);title(椭圆),线条和颜色控制符:,条形图,当资料点数量不多时,长条图是很适合的表示方式:close all;%关闭所有的图形视窗 x=1:10;y=rand(size(x);bar(x,y),误差图,x=linspace(0,2*pi,30);y=sin(x);e=std(y)*ones(size(x);%std:标准差errorbar(x,y,e),极坐标图形,theta=linspace(0,2*pi);r=cos(4*theta);polar(theta,r);,x=linspace(0,10,50);y=sin(x).*exp(-x
15、/3);stairs(x,y);%阶梯图x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);%针状图,符号表达式画图,在许多的场合,将表达式可视化是有利的。MATLAB提供了函数ezplot来完成该任务。y=16*x2+64*x+96 y=16*x2+64*x+96 ezplot(y),三维曲线和曲面,1空间曲线绘制函数plot3()格式一:plot3(x,y,z)功能:若x、y、z为相同长度的向量,则根据向量x、y、z绘制空间三维曲线。如果x、y、z为同阶矩阵,则绘制对应列的多条曲线。格式二:plot3(x,y,z,s)功能:按字符串s设置的线
16、型、颜色、标记符号绘制三维空间曲线。字符串s的设置与plot命令的设置相同。2三维网线图函数mesh、meshc和meshz MATAL提供的函数mesh用来绘制三维网线图。格式一:mesh(X,Y,Z)功能:根据矩阵X、Y和Z绘制彩色的空间三维网线图。X、Y和Z中对应的元素为三维 空间上的点,点与点之间用线连接。其中网线的颜色随着网点高度的改变而改变。格式二:mesh(x,y,Z)功能:n维向量x、m维向量y和mn矩阵Z绘制网线图,节点的坐标为(x(j),y(i),Z(i,j),网线的颜色随着网点高度的改变而改变。,三维曲面图函数surf及surfc,格式一:surf(X,Y,Z,C)功能:
17、绘制由四个矩阵所指定的带色参数的网状表面图。视角是由view所指定。轴的刻度决定于X,Y及Z的范围,或当前对轴的设定;颜色范围由C指定。格式二:surf(X,Y,Z)功能:将C设为与Z相等,则颜色与网的高度成正比。,三维螺旋线,t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)grid,空间中的曲线,t=linspace(0,20*pi,501);plot3(t.*sin(t),t.*cos(t),t);%注意用点乘.*t=linspace(0,10*pi,501);plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 计算 仿真

链接地址:https://www.31ppt.com/p-5439311.html