Matlab初步教程_第1页
Matlab初步教程_第2页
Matlab初步教程_第3页
Matlab初步教程_第4页
Matlab初步教程_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 matlab6.5概述 matlab名字的产生应该追溯到两个美文单词:名字的产生应该追溯到两个美文单词:matrix和和laboratory。20世纪世纪70年代后期,年代后期,美国新墨西哥大学计算机主任美国新墨西哥大学计算机主任cleve moler教授教授为了便于教学,为为了便于教学,为linpack和和eispack两个软件两个软件包编写了接口程序,从而为学生编写包编写了接口程序,从而为学生编写fortran程序减轻负担,此即程序减轻负担,此即matlab的萌芽。的萌芽。 1984年,成立年,成立math works公司,并把公司,并把matlab正式推向市场。正式推向市场。ma

2、thematicamathcadmatlab6.5概述 在当前在当前30多个教学类科技应用软件中,多个教学类科技应用软件中,就数学处理功能而言,可分为两个大类:就数学处理功能而言,可分为两个大类:1)数值计算型软件)数值计算型软件 : 如如matlab、xmath、gauss等等 2)数学分析型软件)数学分析型软件 : mathematica、maple matlab6.5概述该软件的缺点:该软件的缺点: 由于由于matlab的程序不用编译等预处理,也不的程序不用编译等预处理,也不生成可执行文件。程序属于解释执行,所以程序的生成可执行文件。程序属于解释执行,所以程序的执行速度较慢执行速度较慢,

3、另外由于该软件运行过程中对赋值,另外由于该软件运行过程中对赋值后的变量未作处理前,变量常驻内存,因而程序运后的变量未作处理前,变量常驻内存,因而程序运行到一定程度会行到一定程度会消耗很大的内存空间消耗很大的内存空间。在。在图形界面图形界面编程能力编程能力方向该软件和方向该软件和visual c +和和visual basic等可视化编程软件相比功能相对较差。等可视化编程软件相比功能相对较差。matlab的安装和内容选择的安装和内容选择组件名称功用1、必须选择的本原性组件matlab这是最核心的部分。2、最常选的通用性工具包组件symbolic math符号类数据的操作和计算3、其他通用性工具包

4、组件simulinkoptimizationmatlab compilermatlab c/c+ math librarymatlab c/c+ graphic library建模和仿真求函数零点、极值、等优化编辑与matlab compiler配合与matlab compiler配合4、常用专业性工具包组件control systemsignal processingsplinestatistics控制问题信号处理样条和插值函数统计分析5、其它专业性工具包组件stateflowsystem identification与simulink配合使用,动态系统识别第二章 matlab6.5初步知识

5、2.1matlab的启动的启动1点击桌面上的点击桌面上的matlab6.5快捷图标快捷图标2通过打开开始菜单的程序选项选择通过打开开始菜单的程序选项选择matlab6.5的的程序选项程序选项3在在matlab6.5binwin32文件类中的文件类中的matlab.exe.建议优先采用方法一。建议优先采用方法一。 matlab6.5初步知识2.2desktop工具界面简介工具界面简介 默认情况下,默认情况下,matlab6.5工作界面包括工作界面包括6个窗个窗口:主窗口、命令窗口、命令历史记录窗口、当前口:主窗口、命令窗口、命令历史记录窗口、当前目录窗口、工作空间窗口和发行说明窗口。目录窗口、工

6、作空间窗口和发行说明窗口。 该界面的上层铺放着该界面的上层铺放着3个最常用的界面:个最常用的界面:指令指令窗窗(命令窗口(命令窗口command window) 历史指令历史指令窗窗(command history),工作空间浏览器工作空间浏览器(workspace browser)。还有一个当前目还有一个当前目录窗口(录窗口(current directory)铺放在桌面下层。)铺放在桌面下层。 matlab6.5初步知识1、command window2、command history3、current directory4、workspace browser和和array editor5

7、、lunch pad6、editor/debugger7、help navigator/browsermatlab6.5初步知识2.2.2command window入门入门1、简介、简介2、计算器功能、计算器功能3、数值、变量、表达式(与其它语言类似,、数值、变量、表达式(与其它语言类似,特别留意复数表示,自学)特别留意复数表示,自学)4、数值计算结果的显示格式、数值计算结果的显示格式5、指令行的标点符号、指令行的标点符号(,。;:,。;:()()_.)matlab6.5初步知识2.2.4其它操作界面其它操作界面command history, current directory, work

8、space browser, array editor, launch pad,editor/debugger和教本编写初步和教本编写初步matlab6.5初步知识2.3matlab6.5的帮助系统的帮助系统1、纯文本帮助(、纯文本帮助(help help)2、导航、导航/浏览器交互界面帮助浏览器交互界面帮助(navigator)3、pdf帮助帮助(documentation)matlab6.5初步知识2.4引导引导【例【例2.1-1】绘制函数】绘制函数 在在 时的曲线。时的曲线。x=0:0.1:1y=x.*exp(-x)plot(x,y,xlabel(x),ylabel(y),title(y

9、=x*exp(-x) xxey10 xmatlab6.5初步知识2.5一维数组的创建和寻访一维数组的创建和寻访1)逐个元素输入法)逐个元素输入法 x=2 3 4 52)冒号生成法)冒号生成法 x=1:1:103)定数线性采样法)定数线性采样法 x=linspace(a,b,n)4)定数对数采样法)定数对数采样法 x=logspace(a,b,n)matlab6.5初步知识2.6二维数组的创建和标识二维数组的创建和标识1)直接输入法)直接输入法 a=1 2 3; 4 5 6;7 8 92)利用)利用m文件创建和保存数组文件创建和保存数组 mymatrix.m creation and prese

10、rvation of matrix amam=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,206,207,208,209;. 301,302,303,304,305,306,307,308,309;3)“全下标全下标”标识标识a(1,2)=2a(m,n)表示第表示第m行第行第n列的元素列的元素matlab6.5初步知识2.7执行数组运算的常用函数执行数组运算的常用函数(p46)2.8数组运算和矩阵运算数组运算和矩阵运算(p48)自学自学第三章 matlab6.5程序设计语言 用用matlab编程语言编写的可以在编程语言编写

11、的可以在matlab工作空间中运行的程序,称为工作空间中运行的程序,称为m文文件件。 m文件根据调用方式的不同分为两类:文件根据调用方式的不同分为两类:命令文件和函数文件命令文件和函数文件。matlab6.5程序设计语言例如:用例如:用matlab语言来定义一个函数,语言来定义一个函数, 并计算并计算x = 1时,时,y的值。的值。 1)采用命令文件直接计算函数值)采用命令文件直接计算函数值建立文件建立文件f.mx=1;y= x2 2 * x + 3 32)(2xxxfymatlab6.5程序设计语言2)采用函数文件定义函数采用函数文件定义函数f(x)a.建立函数文件建立函数文件f.m fun

12、ction y = f(x) y = x2 2 * x + 3 b.在命令窗口键入在命令窗口键入x=1;y=f(x)matlab6.5程序设计语言两者的区别两者的区别 : 命令文件命令文件不需要输入参数,也不返回输出参数,不需要输入参数,也不返回输出参数,它是命令的叠加它是命令的叠加 。命令文件对空间中的变量进行。命令文件对空间中的变量进行操作操作 。 函数文件函数文件通常包含输入参数,也可以返回输出通常包含输入参数,也可以返回输出参数,它还能解决参数传递和出数调用的问题,第参数,它还能解决参数传递和出数调用的问题,第一句必须以一句必须以function的引导。函数文件的变量为的引导。函数文件

13、的变量为局域变量局域变量 matlab6.5程序设计语言函数文件的格式:函数文件的格式:function a,b,c = funexm (x,y,z) 输出参数输出参数 函数名函数名 输入参数输入参数 ( 若没有输出参数时,输出参数为空,或用空的中括号表示若没有输出参数时,输出参数为空,或用空的中括号表示)function funexm (x)function = funexm (x)*注意:不识别汉字文件名注意:不识别汉字文件名第四章 数值计算一、插值和样条一、插值和样条 matlab6.5提供的插值指令有提供的插值指令有6条,这里只条,这里只介绍一维插值。介绍一维插值。命令:命令:meth

14、od 具体取名有:具体取名有:linear:线性插值,作为缺省设置:线性插值,作为缺省设置cubic:三次多项式插值:三次多项式插值spline:三次样条插值:三次样条插值nearst:最近邻插值(同最近邻点的值相等:最近邻插值(同最近邻点的值相等)) , 1,( 1int1methodxyxerpy x,y已知的基准数据已知的基准数据x1待插值点待插值点method插值方法插值方法 例例1:p62例题例题5 (p62exp5.m) 已知丙苯粘度随温度变化的四点数据已知丙苯粘度随温度变化的四点数据 t 40 45 55 75 0.68 0.64 0.56 0.45求求70度的粘度。度的粘度。x

15、=40 45 55 75;y=0.68 0.64 0.56 0.45;x1=70y1=interp1(x,y,x1,cubic)plot(x,y,b,x,y,o,x1,y1,*)spa.103第四章 数值计算二、多项式拟合和非线性最小二乘法二、多项式拟合和非线性最小二乘法1、多项式的表示:、多项式的表示: 例如:例如:p=1 -5 6 8poly2sym(p) % (将多项式向量表示为符号表达式形式将多项式向量表示为符号表达式形式)86523xxx第四章 数值计算2、多项式的值、多项式的值p=1 2 3 4 5;b=2 2; 3 3polyval(p,b) (对每个元素进行计算,把对每个元素进

16、行计算,把x=2,2,3,3分别代入计算分别代入计算)polyvalm(p,b)(按矩阵计算,把(按矩阵计算,把x=b矩阵代入计算)矩阵代入计算)5432234xxxxy第四章 数值计算3、多项式的拟合、多项式的拟合 (exp3.m)例如:例如:x=1 2 3 4 5 6;y=1 4 9 16 24 35; p=polyfit(x,y,2)x1=1:0.1:6;y1=polyval(p,x1);plot(x,y,*,x1,y1,r),(nyxpolyfitp 第四章 数值计算4、非线性参数拟合(非线性最小二乘估计)非线性参数拟合(非线性最小二乘估计)有两种方法:有两种方法:fminsearch

17、,lsqnonlin (marquadst麦夸托算法麦夸托算法)1)假设被估参数不太多(比如,不超过假设被估参数不太多(比如,不超过5,6个),且个),且对最小值点有较好的初试估计,对最小值点有较好的初试估计,fminsearch是优是优先推荐使用的先推荐使用的matlab指令)指令) 第四章 数值计算例如:例如:x=0:0.2:4;y=15.135 9.0162 5.9249 4.115 3.2235 2.5787 2.10121.7052 1.7500 1.4815 1.4026 1.3424 1.2808 1.1347 0.88330.8761 0.96520.8953 0.6840 0

18、.7743 0.4731;a0=1 1 1 1options=optimset(fminsearch)a=fminsearch(exps,a0,options,x,y)function e=exps(a,x,y)y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x)e=sum(y-y).2); xaxaeaeay4321x的列表数据y的列表数据第四章 数值计算2)marquadst算法相关指令:function e=lsqnonlinfun(a,x,y)y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x)e=y-y;x=0:0.2:4y0=3*exp(

19、-0.4*x)+12*exp(-3.2*x)y=y0+0.3*(rand(size(x)-0.5)a0=1 10 0.2 1options=optimset(lsqnonlin)a=lsqnonlin(lsqnonlinfun,a0,options,x,y)0,(afunlsqnonlina )2, 1, 0,(,ppoptionsublbafunlsqnonlinoutputexitflagresidualresnorma第四章 数值计算三、三、lu分解和恰定方程组的解分解和恰定方程组的解1、lu分解分解 lu=pa (可理解为按列选主元)(可理解为按列选主元) l,u,p=lu(a) p为

20、倒置推导,为了保证主元消去策略的实施,一般说来,必须为倒置推导,为了保证主元消去策略的实施,一般说来,必须对对 被分解矩阵实施行置换。被分解矩阵实施行置换。p含有行转置信息。含有行转置信息。 当当l,u=lu(a),l、u一般不是上三角和下三角矩阵一般不是上三角和下三角矩阵 当当l,u,p=lu(a),l、u为三角矩阵为三角矩阵2、ax=b 恰定方程组的解恰定方程组的解 x=ab第四章 数值计算四、函数的零点四、函数的零点1、多项式的根、多项式的根 对于对于 的多项式的多项式 p= roots(p)0.1121nnnnaxaxaxa,.,121naaa第四章 数值计算2、一元函数的零点、一元函

21、数的零点 (非线性方程的根)(非线性方程的根) 1)利用作图指令获取初步近似植。)利用作图指令获取初步近似植。 2)求一元函数零点的精确指令)求一元函数零点的精确指令 z=fzero(fun,x0) 完整指令:完整指令:z,f_z,exitflag,output=fzero(fun,x0,option,p1,p2,)*注意:注意:fzero只能求取一元连续函数穿越横轴的零点,不会只能求取一元连续函数穿越横轴的零点,不会确定与确定与x轴接触而不穿越的零点,如轴接触而不穿越的零点,如sinx=0,(x-1)2=0第四章 数值计算例例1:求:求 以以 t为自变量的为自变量的f(t)=0的根的根fun

22、ction y=fzeroexp(t,a,b) y=sin(t)2*exp(-a*t)-b*abs(t);a=0.1;b=0.5;t=-10:0.01:10;y = fzeroexp(t,a,b)plot(t,y,r); hold onplot(t , zeros(size(t) , k , xlabel(t) ; ylabel(y(t);hold offzoom ontt,yy=ginput(5);zoom offt4,y4,exitflag = fzero (fzeroexp , tt(4) , , a , b )tbettfat)(sin)(2例例2:教材:教材p109例例8。d=0:0

23、.02:0.5y=fp109exp8(d)plot(d,y,r)hold onplot(d,zeros(size(d),k)tt,yy=ginput(1);d=fzero(fp109exp8,tt)function y=f(d)y=8820*d.5-2.31*d-0.6465;第四章 数值计算3、多元函数的零点、多元函数的零点 (非线性方程组求根)(非线性方程组求根) 有了初始零点后,求零点的精确解,可以借助有了初始零点后,求零点的精确解,可以借助fsolve进行,指令格式如下:进行,指令格式如下: x= fsolve (fun, x0) x , fval ,exitflag , output , jacob = fsolve(fun,x0,options ,p1 , p2 , )第四章 数值计算例:例: 解二元方程

温馨提示

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

评论

0/150

提交评论