MATLAB计算与仿真.ppt

上传人:s****8 文档编号:69173745 上传时间:2022-12-31 格式:PPT 页数:80 大小:1.04MB
返回 下载 相关 举报
MATLAB计算与仿真.ppt_第1页
第1页 / 共80页
MATLAB计算与仿真.ppt_第2页
第2页 / 共80页
点击查看更多>>
资源描述

《MATLAB计算与仿真.ppt》由会员分享,可在线阅读,更多相关《MATLAB计算与仿真.ppt(80页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、信息工程学院信息工程学院东华理工大学东华理工大学MatlabMatlab计算与仿真技术计算与仿真技术计算与仿真技术计算与仿真技术Matlab计算与仿真计算与仿真什么是什么是 MATLAB?MATLAB 代表代表MATrix LABoratoryn它的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教授线性代数课程发现其他语言很不方便,篇构思开发了MATLAB。最初采用FORTRAN语言编写,20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写.n1984年Moler博士和一批数学家及软件专家创建了MathWorks公司,专门开发MATLAB。Matlab计算

2、与仿真计算与仿真MATLAB的发展历史的发展历史 1984年,年,MATLAB第第1版版(DOS版版)1992年,年,MATLAB 4.0版版 1994年,年,MATLAB 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线程计算)线程计算)是一种解释性语

3、言,一种演草纸式的科学计算语言是一种解释性语言,一种演草纸式的科学计算语言Matlab计算与仿真计算与仿真MATLAB 能干什么?能干什么?MATLAB可以进行:可以进行:n数学计算、算法开发、数据采集数学计算、算法开发、数据采集n建模、仿真、原型建模、仿真、原型 n数据分析、开发和可视化数据分析、开发和可视化n科学和工程图形应用程序的开发,包括图形用科学和工程图形应用程序的开发,包括图形用户界面的创建。户界面的创建。MATLAB广泛应用于:广泛应用于:n数值计算、图形处理、符号运算、数学建模、数值计算、图形处理、符号运算、数学建模、系统辨识、小波分析、实时控制、动态仿真等系统辨识、小波分析、

4、实时控制、动态仿真等领域。领域。Matlab计算与仿真计算与仿真掌握掌握 MATLAB MATLAB的构成:nMATLAB开发环境:进行应用研究开发的交互式平台nMATLAB 数学与运算函数库:用于科学计算的函数nMATLAB 语言:进行应用开发的编程工具n图形化开发:二维、三维图形开发的工具n应用程序接口(API):用于与其他预言混编n面向专门领域的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。Matlab计算与仿真计算与仿真MATLAB界面界面:命令窗口、图形窗口、编辑窗口、帮助窗口。Matlab计算

5、与仿真计算与仿真常用MATLAB系统命令help 在线帮助在线帮助who 显示当前变量显示当前变量whos 显示当前变量的详细信息显示当前变量的详细信息clear 清空工作间的变量和函数清空工作间的变量和函数pack 整理工作间的内存整理工作间的内存load 把文件调入变量到工作间把文件调入变量到工作间save 把变量存入文件中把变量存入文件中echo 命令回显命令回显what 显示指定的显示指定的matlab文件文件dir 显示目录内容显示目录内容Matlab计算与仿真计算与仿真基本数学运算在在MATLAB下进行基本数学运算,只需将运算式直接打在提示号下进行基本数学运算,只需将运算式直接打在

6、提示号 后面,并按后面,并按Enter键。键。MATLAB将计算将计算 的结果以的结果以ans显示。显示。【例例】求求 的算术运算结果。的算术运算结果。(1)用键盘在)用键盘在MATLAB指令窗中输入以下内容指令窗中输入以下内容(12+2*(7-4)/32 (2)在上述表达式输入完成后,按)在上述表达式输入完成后,按【Enter】键,该就指令被执行。键,该就指令被执行。(3)在指令执行后,)在指令执行后,MATLAB指令窗中将显示以下结果。指令窗中将显示以下结果。ans=2 我们也可给运算式的结果设定一个变量我们也可给运算式的结果设定一个变量x:x=(5*2+1.3-0.8)*102/25 x

7、=42 变量变量x的值可以在下个语句中调用:的值可以在下个语句中调用:y=2*x+1y=85 Matlab计算与仿真计算与仿真例:计算在命令窗口中输入sqrt(18)+(7*sin(pi/6)/(5+cos(pi/6)注意:(1)“”为命令提示符;(2)字母要区分大小写,所有命令和函数名都必 须用小写。Matlab计算与仿真计算与仿真变量命名规则1.变量名的大小写敏感。变量名的大小写敏感。2.变量的第一个字符必须为英文字母,而且不能超变量的第一个字符必须为英文字母,而且不能超过过31个字符。个字符。3.变量名可以包含下连字符、数字,但不能为空格变量名可以包含下连字符、数字,但不能为空格符、标点

8、符、标点。注:数值型变量和符号型变量在数值型变量和符号型变量在MATLAB中是不中是不相同的,它们之间不能直接进行转化。相同的,它们之间不能直接进行转化。MATLAB提供了一个将数值型转化成符号型的提供了一个将数值型转化成符号型的命令,即命令,即sym(syms)。)。Matlab计算与仿真计算与仿真MATLAB提供基本的算术运算有:提供基本的算术运算有:加加(+)、减、减(-)、乘、乘(*)、除、除(/)、幂次方、幂次方(),范例为:范例为:5+3,5-3,5*3,5/3,53nMATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。n如果一个指令过长可以

9、在结尾加上.(代表此行指令与下一行连续),例如:n 1*2+3*4+5*6+7*8+9*10+11*12+.13*14+15*16 ans=744Matlab计算与仿真计算与仿真MATLAB常用数学函数常用数学函数n三角函数和双曲函数名称名称含义含义名称名称含义含义名称名称含义含义sin正弦正弦csc余割余割atanh反双曲正切反双曲正切cos余弦余弦asec反正割反正割acoth反双曲余切反双曲余切tan正切正切acsc反余割反余割sech双曲正割双曲正割cot余切余切sinh双曲正弦双曲正弦csch双曲余割双曲余割asin反正弦反正弦cosh双曲余弦双曲余弦asech反双曲正割反双曲正割a

10、cos反余弦反余弦tanh双曲正切双曲正切acsch反双曲余割反双曲余割atan反正切反正切coth双曲余切双曲余切atan2四象限反正切四象限反正切acot反余切反余切asinh反双曲正弦反双曲正弦sec正割正割acosh反双曲余弦反双曲余弦Matlab计算与仿真计算与仿真MATLAB常用数学函数常用数学函数n指数函数名称名称含义含义名称名称含义含义名称名称含义含义expE为底的指数为底的指数log1010为底的对数为底的对数pow22的幂的幂log自然对数自然对数log22为底的对数为底的对数sqrt平方根平方根复数函数名称名称含义含义名称名称含义含义名名称称含义含义abs绝对值绝对值co

11、nj复数共轭复数共轭real复数实部复数实部angle相角相角imag复数虚部复数虚部Matlab计算与仿真计算与仿真其他函数名称名称含义含义名称名称含义含义min最小值最小值max最大值最大值mean平均值平均值median中位数中位数std标准差标准差diff相邻元素的差相邻元素的差sort排序排序length个数个数norm欧氏(欧氏(Euclidean)长度)长度sum总和总和prod总乘积总乘积dot内积内积cumsum累计元素总和累计元素总和cumprod累计元素总乘积累计元素总乘积cross外积外积Matlab计算与仿真计算与仿真矩阵的矩阵的MATLAB表示表示n直接输入直接输入

12、 A=1 2,3;4 5 6;7,8 9n冒号操作符冒号操作符 a=0:1:10 a=linspace(0,1,10)a=logspace(1,2,10)Matlab计算与仿真计算与仿真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.函数函数Matlab计算与仿真计算与仿真矩阵的逻辑运算矩阵的逻辑运算n运算符运算符&

13、(与与)|(或或)(非非)n结果是一个结果是一个0-1矩阵。当逻辑表达式的值为真时,矩阵。当逻辑表达式的值为真时,赋值赋值1,否则为,否则为0 n逻辑函数逻辑函数all:当某列的元素都为真时,返回值为:当某列的元素都为真时,返回值为1,否则返回,否则返回0。最终运算结果为一个最终运算结果为一个0-1行向量行向量any:当向量中至少有一个元素为真时,返回值为:当向量中至少有一个元素为真时,返回值为1,否则返回否则返回0。最终运算结果为一个。最终运算结果为一个0-1行向量行向量 find:用于查找向量中的真元素的下标,返回由所有真:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。元

14、素下标构成的列向量。Matlab计算与仿真计算与仿真矩阵的比较关系矩阵的比较关系n在在MATLAB里共有六个关系运算符里共有六个关系运算符 大于大于 =大于等于大于等于 =等于等于 =不等于不等于n关系运算符将生成一个关系运算符将生成一个0-1矩阵,当运算矩阵,当运算数相应元素为真时,对应位置上生成数相应元素为真时,对应位置上生成1,否则为否则为0。Matlab计算与仿真计算与仿真矩阵元素的数据变换矩阵元素的数据变换floor(A)向向取整取整 ceil(A)向向取整取整 round(A)四舍五入取整四舍五入取整fix(A)按离按离0近的方向取整近的方向取整Matlab计算与仿真计算与仿真下标

15、操作下标操作矩阵下标(按列优先排列)矩阵下标(按列优先排列)用两个下标来表示。第用两个下标来表示。第i行行j列的元素用列的元素用A(i,j)来表示来表示用一个下标来表示。对于矩阵按列操作,可用一个下标来表示。对于矩阵按列操作,可用单下标引用用单下标引用A(i)。在下标的表达式中使用冒号表示矩阵的一部在下标的表达式中使用冒号表示矩阵的一部分。分。下标引用从序号下标引用从序号1开始。开始。Matlab计算与仿真计算与仿真下标操作下标操作 A=1 2 3 4 5 6 7 8 9A(4)+A(8)Matlab计算与仿真计算与仿真行列删除行列删除nB=1 2 3;4 5 6;7 8 9;B(2,:)=B

16、=1 2 3 7 8 9Matlab计算与仿真计算与仿真矩阵的尺寸矩阵的尺寸 为了判断矩阵的尺寸,为了判断矩阵的尺寸,Matlab提供了以下函数:提供了以下函数:m,n=size(A)%返回矩阵的行数返回矩阵的行数m和列数和列数nM=size(A)%在矩阵在矩阵M中返回矩阵的行数、列数中返回矩阵的行数、列数 len=length(A)%返回矩阵返回矩阵A行数和列数中的最大值行数和列数中的最大值 Matlab计算与仿真计算与仿真特殊矩阵特殊矩阵n单位矩阵单位矩阵eye(n)%生成生成n维单位阵维单位阵eye(m,n)%生成生成mn的单位阵的单位阵eye(m,n)%生成生成mn的单位阵的单位阵ey

17、e(size(A)%生成与生成与 A矩阵同样大小的单位矩阵矩阵同样大小的单位矩阵 ones zeros Matlab计算与仿真计算与仿真特殊矩阵特殊矩阵n全全1矩阵矩阵 ones(n)ones(m,n)ones(m,n)ones(size(A)n全零矩阵全零矩阵 zeros(n)zeros(m,n)zeros(m,n)zeros(size(A)n随机矩阵随机矩阵 rand(n)rand(m,n)rand(m,n)rand(size(A)生成的随机矩阵的各个元素值在生成的随机矩阵的各个元素值在0和和1之间。之间。n对角阵对角阵diag(n)对角阵对角阵n魔术矩阵魔术矩阵magic(n)魔术矩阵的

18、所有行元素和、列元素和、对角线元素和均相等魔术矩阵的所有行元素和、列元素和、对角线元素和均相等Matlab计算与仿真计算与仿真阵列与矩阵MATLAB的运算事实上是以阵列的运算事实上是以阵列(array)及矩阵及矩阵(matrix)方式在做运方式在做运算算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式式.宣告一变量为阵列或是矩阵时,须用中括号宣告一变量为阵列或是矩阵时,须用中括号 将元素置于其中。阵将元素置于其中。阵列为一维元素所构成,而矩阵为多维元素所组成列为一维元素所构成,而矩阵为多维元素所组成.例如例如:x=1 2 3 4

19、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 Matlab计算与仿真计算与仿真阵列的运算符号 除了加减符号外其余的阵列运算符号均须多加除了加减符号外其余的阵列运算符号均须多加.符号。符号。阵阵列运算功能列运算功能(注意:一定要 多

20、加.符号)+加加 -减减 .*乘乘 ./左除左除 .右除右除 .次方次方 .转置转置矩阵的几种基本变换操作 (1)通过在矩阵变量后加通过在矩阵变量后加的方法来表示转置运算的方法来表示转置运算 a=10,2,12;34,2,4;98,34,6;a ans=10 34 98 2 2 34 12 4 6Matlab计算与仿真计算与仿真(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.36

21、00 -0.2925 -0.4128 0.7886 -0.9093 -0.8352 0.4985v=48.8395 0 0 0 -19.8451 0 0 0 -10.9943Matlab计算与仿真计算与仿真(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.1500 1.0000 0.3469 1.0000 0 1.0000 0 0 u=98.0000 34.0000 6.0000 0 -9.7959 1.9184

22、0 0 11.1000Matlab计算与仿真计算与仿真MatLab图形绘制功能n基本绘图函数基本绘图函数命命 令令含含 义义plot建立向量或矩阵各队队向量的图形建立向量或矩阵各队队向量的图形loglogx、y轴都取对数轴都取对数标度建立图形标度建立图形semilogxx轴用于对数轴用于对数标度,标度,y轴线性轴线性标度绘制图形标度绘制图形semilogyy轴用于对数轴用于对数标度,标度,x轴线性轴线性标度绘制图形标度绘制图形title给图形加标题给图形加标题xlabel给给x轴加标记轴加标记ylabel给给y轴加标记轴加标记text在图形指定的位置上加文本字符串在图形指定的位置上加文本字符串

23、gtext在鼠标的位置上加文本字符串在鼠标的位置上加文本字符串grid打开网格线打开网格线Matlab计算与仿真计算与仿真x=0:0.001:10;%0到10的1000个点的x座标 y=sin(x);%对应的y座标 plot(x,y);%绘图(可以设定显示范围)Matlab计算与仿真计算与仿真画椭圆画椭圆a=0:pi/50:2*pi;X=cos(a)*3;%参数方程参数方程Y=sin(a)*2;plot(X,Y);xlabel(x),ylabel(y);title(椭圆椭圆)Matlab计算与仿真计算与仿真线条和颜色控制符线条和颜色控制符:.点点y黄黄。小圆圈小圆圈m棕色棕色xx标记标记c青色

24、青色+加号加号r红色红色-实线实线g绿色绿色*星号星号b蓝色蓝色:虚线虚线w白色白色-.点划线点划线h黑色黑色Matlab计算与仿真计算与仿真条形图条形图当资料点数量不多时,长条图是很适合的表示方式:close all;%关闭所有的图形视窗 x=1:10;y=rand(size(x);bar(x,y)Matlab计算与仿真计算与仿真误差图误差图x=linspace(0,2*pi,30);y=sin(x);e=std(y)*ones(size(x);%std:标准差标准差errorbar(x,y,e)Matlab计算与仿真计算与仿真极坐标图形极坐标图形 theta=linspace(0,2*pi

25、);r=cos(4*theta);polar(theta,r);Matlab计算与仿真计算与仿真x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);%阶梯图阶梯图x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);%针状图针状图Matlab计算与仿真计算与仿真符号表达式画图在许多的场合,将表达式可视化是有利的。在许多的场合,将表达式可视化是有利的。MATLAB提供了函数提供了函数ezplot来完成来完成该任务。该任务。y=16*x2+64*x+96 y=16*x2+64*x+96 ezplot(

26、y)Matlab计算与仿真计算与仿真三维曲线和曲面三维曲线和曲面 1空间曲线绘制函数空间曲线绘制函数plot3()格式一:格式一:plot3(x,y,z)功能:若x、y、z为相同长度的向量,则根据向量x、y、z绘制空间三维曲线。如果x、y、z为同阶矩阵,则绘制对应列的多条曲线。格式二:格式二:plot3(x,y,z,s)功能:按字符串s设置的线型、颜色、标记符号绘制三维空间曲线。字符串s的设置与plot命令的设置相同。2三维网线图函数三维网线图函数mesh、meshc和和meshz MATAL提供的函数mesh用来绘制三维网线图。格式一:格式一:mesh(X,Y,Z)功能:根据矩阵X、Y和Z绘

27、制彩色的空间三维网线图。X、Y和Z中对应的元素为三维 空间上的点,点与点之间用线连接。其中网线的颜色随着网点高度的改变而改变。格式二:格式二:mesh(x,y,Z)功能:n维向量x、m维向量y和mn矩阵Z绘制网线图,节点的坐标为(x(j),y(i),Z(i,j),网线的颜色随着网点高度的改变而改变。Matlab计算与仿真计算与仿真三维曲面图函数三维曲面图函数surf及及surfc格式一:格式一:surf(X,Y,Z,C)功能:绘制由四个矩阵所指定的带色参数的网状表面图。视角是由view所指定。轴的刻度决定于X,Y及Z的范围,或当前对轴的设定;颜色范围由C指定。格式二:格式二:surf(X,Y,

28、Z)功能:将C设为与Z相等,则颜色与网的高度成正比。Matlab计算与仿真计算与仿真三维螺旋线三维螺旋线 t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)grid Matlab计算与仿真计算与仿真空间中的曲线空间中的曲线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);Matlab计算与仿真计算与仿真立体网状图立体网状图 x=linsp

29、ace(-2,2,25);%在在x轴上取轴上取25点点 y=linspace(-2,2,25);%在在y轴上取轴上取25点点 xx,yy=meshgrid(x,y);%xx和和yy都是都是21x21的矩阵的矩阵 zz=xx.*exp(-xx.2-yy.2);%计算函数值,计算函数值,zz也是也是21x21的矩阵的矩阵 mesh(xx,yy,zz);%画出立体网状图画出立体网状图 Matlab计算与仿真计算与仿真网状图填补网状图填补x=linspace(-2,2,25);%在在x轴上取轴上取25点点 y=linspace(-2,2,25);%在在y轴上取轴上取25点点 xx,yy=meshgri

30、d(x,y);%xx和和yy都是都是21x21的矩阵的矩阵 zz=xx.*exp(-xx.2-yy.2);%计算函数值,计算函数值,zz也是也是21x21的的 矩阵矩阵 surf(xx,yy,zz);%画出立体曲面图画出立体曲面图 Matlab计算与仿真计算与仿真peaks函数函数npeaks函数,可产生一个凹凸有致的曲面,函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,包含了三个局部极大点及三个局部极小点,其方程式为:其方程式为:x,y,z=peaks;waterfall(x,y,z);Matlab计算与仿真计算与仿真等高线图等高线图nmeshc同时画出网状图与等高线:

31、同时画出网状图与等高线:x,y,z=peaks;meshc(x,y,z);nsurfc同时画出曲面图与等高线:同时画出曲面图与等高线:x,y,z=peaks;surfc(x,y,z);Matlab计算与仿真计算与仿真剔透玲珑球剔透玲珑球X0,Y0,Z0=sphere(30);%产生单位球面的三维坐标产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0;%产生半径为产生半径为2的球面的三维坐标的球面的三维坐标surf(X0,Y0,Z0);%画单位球面画单位球面shading interp%采用插补明暗处理采用插补明暗处理hold on;mesh(X,Y,Z);hold off%画外球面

32、画外球面hidden off%产生透视效果产生透视效果axis off%不显示坐标轴不显示坐标轴Matlab计算与仿真计算与仿真彗星状轨迹图彗星状轨迹图【*例例】简单二维示例。(请指令窗中运行简单二维示例。(请指令窗中运行以下指令)以下指令)n=10;t=n*pi*(0:0.0005:1);x=sin(t);y=cos(t);plot(x,y,g);hold on;comet(x,y,0.02);hold offMatlab计算与仿真计算与仿真卫星返回地球的运动轨线示意卫星返回地球的运动轨线示意 R0=1;%以地球半径为一个单位以地球半径为一个单位a=12*R0;b=9*R0;T0=2*pi;

33、%T0是轨道周期是轨道周期T=5*T0;dt=pi/100;t=0:dt:T;f=sqrt(a2-b2);%地球与另一焦点的距离地球与另一焦点的距离th=12.5*pi/180;%卫星轨道与卫星轨道与x-y平面的倾角平面的倾角E=exp(-t/20);%轨道收缩率轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t);z=E.*(b*sin(th)*sin(t);plot3(x,y,z,g)%画全程轨线画全程轨线X,Y,Z=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z;%获得单位球坐标获得单位球坐标grid on,hold on,surf(

34、X,Y,Z),shading interp%画地球画地球x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0;axis(x1 x2 y1 y2 z1 z2)%确定坐标范围确定坐标范围view(117 37),comet3(x,y,z,0.02),hold off%设视角、画运动轨线设视角、画运动轨线 Matlab计算与仿真计算与仿真求解线性方程组 MATLAB语句实现:a=2,3,-1;8,2,3;45,3,9;b=2;4;23;x=inv(a)*bMatlab计算与仿真计算与仿真求多项式方程的根求多项式方程的根nroots(p)n sol

35、ve(p)n例.求方程 的所有根 p=1-4 9-10 r=roots(p)或 s1=sym(x3-4*x2+9*x-10);solve(s1)Matlab计算与仿真计算与仿真求方程组的根和超越方程解求方程组的根和超越方程解x,y=solve(x+y=1,x-11*y=5,x,y)求超越方程 的根,其中p,r为常数ff=sym(p*sin(x)=r)solve(ff,x)Matlab计算与仿真计算与仿真求极限求极限syms x;y1=(1+4*x)(1/x);y2=(exp(x)-1)/x;limit(y1,x,0)limit(y2,x,0)Matlab计算与仿真计算与仿真求导数与偏导数求导数

36、与偏导数 syms x;f=3*x3+5*x+1;diff(f,1)syms x y;%对x偏导数 z=x2*sin(2*y);B=diff(z,x)Matlab计算与仿真计算与仿真求解不定积分求解不定积分syms x b;f=cos(b*x);f1=int(f,x)f1=1/b*sin(b*x)ezplot(f1)Matlab计算与仿真计算与仿真求定积分多重积分求定积分多重积分 syms x;y=(x2+sin(x)/(1+x2);int(y,x,-1,1)syms x y;int(int(x2+y2+1,y,x,x+1),x,0,1)Matlab计算与仿真计算与仿真求微分方程通解和特解求微

37、分方程通解和特解 dsolve(Dy=1+y2,x)dsolve(Dy=1+y2,y(0)=1,x)dsolve(x2*D2y+x*Dy+(x2-1/2)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x)dsolve(x2*D2y+x*Dy+(x2-1/2)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x)Matlab计算与仿真计算与仿真MATLAB语言编程语言编程介绍nMATLAB中各种中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的。为此,要运用MATLAB编程语言编制程序,形成M-文件。n程序是使计算机完

38、成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。n程序一般包含:数据输入,数据处理和结果输出三部分,其中数据处理是核心。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。文件 名以字母开头,但不能用专用变量名,如pi等。nMATLAB中每一个中每一个命令都是一个M-文件。Matlab计算与仿真计算与仿真MATLAB程序类型程序类型n脚本文件脚本文件n函数文件函数文件function y=mean(x)%MEAN Average or mean Value%For vectors,Mean(x)is the me

39、an value of X%For matrices,Mean(x)is a row vector containing%the mean value of each columnm,n=size(x)if m=1 m=n;endy=sum(x)/m;函数定义行H1行函数帮助文件函数体Matlab计算与仿真计算与仿真M-文件中输入、输出文件中输入、输出命令 直接赋值输入:直接赋值输入:提示对话输入提示对话输入(input命令命令)x=2;x=input(请输入参数请输入参数 x=);a=1,2;3,4;a=input(请输入矩阵请输入矩阵 a=);s=any string!;s=input(P

40、lease input s=);直接输出:直接输出:格式控制输出格式控制输出(fprintf命令命令)x fprintf(x=%.0f,y=%.5fn,pi,pi);disp(a,b);fprintf(x=%5g,y=%10.5gn,N,pi);Matlab计算与仿真计算与仿真M-文件中循环控制文件中循环控制命令(for命令)n格式:格式:for i=n1:(step):n2 commands;end n作用:重复执行命令集commands.Matlab计算与仿真计算与仿真例2:求奇数和:s=1+3+5+(2k-1)n=input(请输入请输入 n=);s=0;for i=1:2:n s=s+

41、i;fprintf(i=%.0f,s=%.0fn,i,s);end例例1:求和:求和:s=1+2+n n=input(请输入 n=);s=0;for i=1:n s=s+i;fprintf(i=%.0f,s=%.0fn,i,s);endMatlab计算与仿真计算与仿真例3:求阶乘:p=12 3 n=n!n=input(请输入请输入 n=);p=1;for i=1:n p=p*i;fprintf(i=%.0f,p=%.0fn,i,p);end例例4:求:求e:e=1+1+1/2!+1/3!+1/n!n=input(请输入 n=);p=1;e=1;for i=1:n p=p*i;p1=1/p;e=

42、e+p1;fprintf(i=%.0f,p=%.0f,e=%.8f n,i,p,e);endMatlab计算与仿真计算与仿真n例例5:求:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+n=input(请输入 n=);pi=0;k=-1;for i=1:2:n k=(-1)*k;pi=pi+k*1/i;fprintf(i=%.0f,pi=%.8f n,i,4*pi);endMatlab计算与仿真计算与仿真M-文件中条件循环文件中条件循环命令(while命令)n格式:格式:while(condition is true)commands;end n作用:重复执行命令集comman

43、ds.Matlab计算与仿真计算与仿真例例6:求和:求和:s=1+2+n3000 s=0;k=1;while s3000 s=s+k;fprintf(k=%.0f,s=%.0fn,k,s);k=k+1;end例例7:求:求e:e=1+1+1/2!+1/3!+(1/n!=1.0e-8 p=p*i;r=1/p;e=e+r;fprintf(i=%.0f,r=%.9f,e=%.9f n,i,r,e);i=i+1;endMatlab计算与仿真计算与仿真M-文件中选择控制文件中选择控制命令(if命令)n单项选择控制n格式:格式:if(condition is true)commands;end n作用:若

44、条件成立,则执行命令集 commands.否则,不执行。Matlab计算与仿真计算与仿真例例8:求:求n个实数中最大的数个实数中最大的数M.a=input(请输入数组 an=);m,n=size(a);M=a(1);for i=2:n if M0 sn=1;elseif x=0 sn=0;else sn=-1;endfprintf(x=%.5f,sn=%.0fn,x,sn);Matlab计算与仿真计算与仿真Matlab编程编程(续续)程序设计技术程序设计技术 循环向量化计算模式循环向量化计算模式 目的目的:向量计算替代循环模式向量计算替代循环模式 实例实例:i初始化初始化 tic tic fo

45、r t=0:0.01:100 t=0.0:0.01:100 i=i+1;y(i)=sin(t)y=sin(t)end toc toc 耗时耗时7.58 耗时耗时0.01 Matlab计算与仿真计算与仿真Matlab编程编程(续续)程序设计技术程序设计技术(续续)阵列预分配空间阵列预分配空间 目的目的:避免循环过程空间分配的耗时避免循环过程空间分配的耗时 实例实例:y(k)=0.75y(k-1)-0.125y(k-2)+2u(k)clear all,tic T=0.001;t=0:T:16 u=sin(2*pi*t);%y=zeros(size(u)y(1)=2*u(1);y(2)=0.75*y

46、(1)+2*u(2);耗时耗时0.562(%)/0.0160for k=3:fix(16/T)+1 y(k)=0.75*y(k-1)-.0.125*y(k-2)+2*u(k)end tocMatlab计算与仿真计算与仿真Matlab编程编程(续续)程序设计技术程序设计技术(续续)内存使用内存使用/管理管理 目的目的:提高内存使用效率提高内存使用效率 主要的命令主要的命令 clear%清楚变量清楚变量 pack%将变量寄宿在磁盘将变量寄宿在磁盘 quit%退出退出Matlab环境环境 save%将变量数据存入文件将变量数据存入文件 load%将文件数据加载进入工作空间将文件数据加载进入工作空间M

47、atlab计算与仿真计算与仿真Matlab编程编程(续续)Matlab程序调试程序调试 主要工具主要工具:m编辑器内嵌编辑器内嵌debugger功能功能 程序错误程序错误 语法或格式错误语法或格式错误:显式且容易定位显式且容易定位 功能或计算错误功能或计算错误:算法错误算法错误 纠错技巧纠错技巧 显示中间变量的内容显示中间变量的内容 利用利用Keyboard语句语句,查看函数工作空间的变量内容查看函数工作空间的变量内容 设置断点或单步执行方式设置断点或单步执行方式Matlab计算与仿真计算与仿真MATLAB帮助系统帮助窗口进入帮助窗口可以通过以下3种方法:(1)单击MATLAB主窗口工具栏中的

48、Help按钮。(2)在命令窗口中输入helpwin、helpdesk或doc。(3)选择Help菜单中的“MATLAB Help”选项。Matlab计算与仿真计算与仿真帮助命令nMATLAB帮助命令包括help、lookfor以及模糊查询。1help命令在MATLAB 命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。Matlab计算与仿真计算与仿真2lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。lookfo

49、r命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。Matlab计算与仿真计算与仿真3模糊查询MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。Matlab计算与仿真计算与仿真n1.4.3 演示系统在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。Matlab计算与仿真计算与仿真n1.4.4 远程帮助系统在MathWorks公司的主页(http:/)上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com