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年,MATLA
2、B 4.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系统命令,hel
4、p 在线帮助 who 显示当前变量 whos 显示当前变量的详细信息 clear 清空工作间的变量和函数 pack 整理工作间的内存 load 把文件调入变量到工作间 save 把变量存入文件中 echo 命令回显 what 显示指定的matlab文件 dir 显示目录内容,基本数学运算,在MATLAB下进行基本数学运算,只需将运算式直接打在提示号 后面,并按Enter键。 MATLAB将计算 的结果以ans显示。 【例】求 的算术运算结果。 (1)用键盘在MATLAB指令窗中输入以下内容 (12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。 (3)
5、在指令执行后,MATLAB指令窗中将显示以下结果。 ans = 2 我们也可给运算式的结果设定一个变量x: x = (5*2+1.3-0.8)*102/25 x = 42 变量x的值可以在下个语句中调用: y= 2*x+1 y = 85,例:计算,在命令窗口中输入 sqrt(18)+(7*sin(pi/6)/(5+cos(pi/6),注意: (1)“” 为命令提示符; (2)字母要区分大小写,所有命令和函数名都必 须用小写。,变量命名规则,1.变量名的大小写敏感。 2.变量的第一个字符必须为英文字母,而且不能超过31个字符。 3.变量名可以包含下连字符、数字,但不能为空格符、标点 。 注:数值
6、型变量和符号型变量在MATLAB中是不相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的命令,即sym(syms)。,MATLAB提供基本的算术运算有:,加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (), 范例为:5+3, 5-3, 5*3, 5/3, 53 MATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。 如果一个指令过长可以在结尾加上.(代表此行指令与下一行连续), 例如: 1*2+3*4+5*6+7*8+9*10+11*12+. 13*14+15*16 ans = 744,MATLAB常用数学函数,三角函
7、数和双曲函数,MATLAB常用数学函数,指数函数,复数函数,其他函数,矩阵的MATLAB表示,直接输入 A=1 2, 3; 4 5 6;7, 8 9 冒号操作符 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. 函数,矩阵的逻辑运算,运算符 & (与) |(或) (非) 结果是
8、一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0 逻辑函数 all :当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 any :当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 find:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。,矩阵的比较关系,在MATLAB里共有六个关系运算符 大于 =大于等于 = 等于 =不等于 关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。,矩阵元素的数据变换,floor(A) 向取整 ceil(A) 向取整 round(A) 四舍五入
9、取整 fix(A) 按离0近的方向取整,下标操作,矩阵下标(按列优先排列) 用两个下标来表示。第i行j列的元素用A(i,j)来表示 用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i) 。 在下标的表达式中使用冒号表示矩阵的一部分。 下标引用从序号1开始。,下标操作,A= 1 2 3 4 5 6 7 8 9 A(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和列数n M=size(A) %在矩阵M中返回矩阵的行数、
10、列数 len=length(A) %返回矩阵A行数和列数中的最大值,特殊矩阵,单位矩阵 eye(n) %生成n维单位阵 eye(m,n) %生成mn的单位阵 eye(m,n) %生成mn的单位阵 eye(size(A) %生成与 A矩阵同样大小的单位矩阵 ones 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) 生成的随机矩阵的各个元素值在
11、0和1之间。 对角阵 diag(n) 对角阵 魔术矩阵 magic(n) 魔术矩阵的所有行元素和、列元素和、对角线元素和均相等,阵列与矩阵,MATLAB的运算事实上是以阵列 (array) 及矩阵 (matrix) 方式在做运算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式. 宣告一变量为阵列或是矩阵时,须用中括号 将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成. 例如: x=1 2 3 4 5 6 7 8 ;% 一维 1x8 阵列 【例】简单矩阵的输入步骤。 (1)在键盘上输入下列内容:( 以 ; 区隔各列的元素) A = 1,2,3; 4,5,6; 7,8,9 (
12、2)按【Enter】键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结果: A = 1 2 3 4 5 6 7 8 9,阵列的运算符号 除了加减符号外其余的阵列运算符号均须多加 . 符号。 阵列运算功能 (注意:一定要 多加 . 符号) + 加 - 减 .* 乘 ./ 左除 . 右除 . 次方 . 转置 矩阵的几种基本变换操作 (1) 通过在矩阵变量后加的方法来表示转置运算 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
13、 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.4985 v = 48.8395 0 0 0 -19.8451 0 0 0 -10.9943,(4) 取出上三角和下三角 triu(a) ans = 10 2 12 0 2 4 0 0 6 tril(a) ans = 10 0 0 34 2 0 98 34 6 (5)LU 分解 l,u=lu(a) l = 0.1020 0.1
14、500 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,Y); xlabel(x), ylabel(y); title(椭圆),线条和颜色控制符:,
15、条形图,当资料点数量不多时,长条图是很适合的表示方式: 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/3); stairs(x,y); %阶梯图
16、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设置的线型、颜色、
17、标记符号绘制三维空间曲线。字符串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,
18、 C) 功能:绘制由四个矩阵所指定的带色参数的网状表面图。视角是由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,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 计算 仿真
链接地址:https://www.31doc.com/p-2202146.html