《Matlab基础与概述》由会员分享,可在线阅读,更多相关《Matlab基础与概述(28页珍藏版)》请在金锄头文库上搜索。
1、数学建模基地数学建模基地陈思宏医学物理师13249211531365270876学习内容学习内容 一、一、MATLABMATLAB概述概述二、二、MATLABMATLAB的数值运算、符号运算的数值运算、符号运算三、三、MATLABMATLAB的二维、三维绘图的二维、三维绘图四、图形化仿真程序设计四、图形化仿真程序设计五、五、MATLABMATLAB工具箱与跨平台接口工具箱与跨平台接口六、六、MATLAB 6 MATLAB 6 简介简介 七、七、MATLABMATLAB程序设计程序设计数学建模基地数学建模基地陈思宏医学物理师13249211531365270876Matlab基础与概述基础与概述
2、数学建模基地数学建模基地陈思宏医学物理师13249211531365270876一、一、MATLAB语言的发展语言的发展 matlab语言是由美国的语言是由美国的Clever Moler博士于博士于1980年开发的年开发的设计者的初衷是为解决设计者的初衷是为解决“线性代数线性代数”课程的矩课程的矩阵运算问题阵运算问题MATLAB=Matrix+ Laboratory易用性易用性、可靠性、通用性可靠性、通用性、专业性专业性 、一般目、一般目的的应用与高深的科学技术应用有机的相的的应用与高深的科学技术应用有机的相结合结合MATLAB是一种直译式的高级语言,比其它是一种直译式的高级语言,比其它程序设
3、计语言容易程序设计语言容易不仅仅是一个不仅仅是一个“矩阵实验室矩阵实验室”,科学计算,科学计算+图象图象处理处理+声音处理声音处理+丰富的丰富的Windows图形界面设图形界面设计方法计方法MATLAB语言是功能强大的计算机高级语言语言是功能强大的计算机高级语言, 它以超群的风格与性能风靡全世界它以超群的风格与性能风靡全世界, 成功地成功地应用于各工程学科的研究领域应用于各工程学科的研究领域MATLAB在美国已经作为大学工科学生必修的在美国已经作为大学工科学生必修的计算机语言之一计算机语言之一 (C, FORTRAN, ASSEMBLER, MATLAB)近年来,近年来,MATLAB语言已在我
4、国推广使用,现语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校在已应用于各学科研究部门和许多高等院校MATLAB语言不受计算机硬件的影响,语言不受计算机硬件的影响,286以以上的计算机都可以使用上的计算机都可以使用数学建模基地数学建模基地陈思宏医学物理师13249211531365270876二、二、matlab能在各领域做什麽能在各领域做什麽工业研究与开发工业研究与开发数学教学,特别是线性代数数学教学,特别是线性代数数值分析和科学计算方面的教学与研究数值分析和科学计算方面的教学与研究经济学、化学和生物学等计算问题的所经济学、化学和生物学等计算问题的所有其他领域中的教学与研究有其
5、他领域中的教学与研究电子学、控制理论和物理学等工程和科电子学、控制理论和物理学等工程和科学学学科方面的教学与学科方面的教学与研究研究 数学建模基地数学建模基地陈思宏医学物理师132492115313652708762、MATLAB语语言的特点言的特点语语言言简简洁洁紧紧凑凑,语语法法限限制制不不严严,程程序序设计设计自由度大,可移植性好自由度大,可移植性好运算符、库函数丰富运算符、库函数丰富图形功能强大图形功能强大界面友好、编程效率高界面友好、编程效率高扩展性强扩展性强数学建模基地数学建模基地陈思宏医学物理师13249211531365270876MATLAB的开放式可扩充结构的开放式可扩充结
6、构 matlab 所有函数都是开放的所有函数都是开放的用户可按自己意愿随意更改用户可按自己意愿随意更改正因为此功能,使得正因为此功能,使得matlab的应的应用越来越广泛用越来越广泛数学建模基地数学建模基地陈思宏医学物理师13249211531365270876四四、MATLAB语语言的功能言的功能强大的数值(矩阵)运算功能强大的数值(矩阵)运算功能广泛的广泛的符号运算功能符号运算功能高级与低级兼备高级与低级兼备图形功能图形功能的(计算结果的的(计算结果的可视化功能)可视化功能)可靠的容错功能可靠的容错功能应用灵活的应用灵活的兼容兼容与接口功能与接口功能信息量丰富的信息量丰富的联机检索功能联机
7、检索功能数学建模基地数学建模基地陈思宏医学物理师13249211531365270876丰富的丰富的MATLAB工具箱工具箱MATLAB主工具箱主工具箱符号数学工具箱符号数学工具箱SIMULINK仿真工具箱仿真工具箱控制系统工具箱控制系统工具箱信号处理工具箱信号处理工具箱图象处理工具箱图象处理工具箱通讯工具箱通讯工具箱系统辨识工具箱系统辨识工具箱神经元网络工具箱神经元网络工具箱金融工具箱金融工具箱许多学科,在许多学科,在MATLAB中都有专中都有专用工具箱,现已有用工具箱,现已有30多个工具箱,多个工具箱,但但MATLAB语言的扩展开发还远语言的扩展开发还远远没有结束,各学科的相互促进,远没有
8、结束,各学科的相互促进,将使得将使得MATLAB更加强大更加强大数学建模基地数学建模基地陈思宏医学物理师13249211531365270876五、五、matlab与与dos兼容命令兼容命令1.dir dir 可列出指定目录下的文件和子目录可列出指定目录下的文件和子目录清单清单例如例如: :Dir Dir 可显示当前目录下的所有文件可显示当前目录下的所有文件Dir c:matlabDir c:matlabDir c:matlab*.mDir c:matlab*.m2.cd可改变当前工作目录可改变当前工作目录 cd _ _ 显示当前子目录显示当前子目录 cd c:matlabtoolbox cd
9、 _ . . 退出当前子目录到上一级目录退出当前子目录到上一级目录 cd _ 回到根目录回到根目录 3.type 可显示指定文件的可显示指定文件的全部内容全部内容 type myfile.m 与与dos下的用法完全一样下的用法完全一样4.delete 删除指定文件删除指定文件 del abc 删除当前目录下的删除当前目录下的abc文件文件 del c:matlabaaa.m 注意:只可删除用户文件,其它文件不要轻注意:只可删除用户文件,其它文件不要轻易删除,否则系统会瘫痪易删除,否则系统会瘫痪 数学建模基地数学建模基地陈思宏医学物理师13249211531365270876六、六、matlab
10、的数据与变量的数据与变量1.变量查询函数变量查询函数who与与whos作用都是列出在作用都是列出在matlab工作空间中已工作空间中已经驻留的变量名清单经驻留的变量名清单不同的是不同的是whos在给出驻留变量的同时,在给出驻留变量的同时,还给出他们的维数及性质还给出他们的维数及性质2.永久变量永久变量 在在matlab工作内存中工作内存中,驻留了几个由系驻留了几个由系统本身在启动时定义的变量,我们称为统本身在启动时定义的变量,我们称为永久变量永久变量 永久变量用永久变量用who指令是查看不到的,只指令是查看不到的,只可随时调用可随时调用 eps 容差变量,定义为容差变量,定义为1.0到最近浮点
11、数到最近浮点数的距离的距离,在在 pc机上机上= 2-52 pi 圆周率圆周率 的近似值的近似值3.1415926 inf或或Inf 表示正无大表示正无大,定义为定义为1/0 NaN 非数,它产生于非数,它产生于0 ,0/0, / 等等运算运算 i,j 虚数单位虚数单位 ans 对于未赋值运算结果,自动赋给对于未赋值运算结果,自动赋给ans3. what 程序查询指令程序查询指令 what 按扩展名分类列出当前目录上的文按扩展名分类列出当前目录上的文件件 what *.m 列出当前目录中所有列出当前目录中所有m文件文件数学建模基地数学建模基地陈思宏医学物理师132492115313652708
12、76七、文件系统与路径函数七、文件系统与路径函数 which 列出指定文件所在的目录列出指定文件所在的目录 which test.m 显示显示test.m所在的路所在的路径径 path 路径函数路径函数 path 显示显示matlab启动时设定的搜索启动时设定的搜索路径路径 path(path,c:mydir) 将根目录下的将根目录下的 mydir 临时纳入搜索路径临时纳入搜索路径 可将你需要的目录永久纳入可将你需要的目录永久纳入matlab搜搜索路径索路径 打开打开c:matlabmatlabrc.m文件文件在所有搜索路径后加上在所有搜索路径后加上c:mydir;,数学建模基地数学建模基地陈
13、思宏医学物理师13249211531365270876八、八、Matlab软件认识与使用软件认识与使用版本对应版本对应MATLAB 7 R14 2004MATLAB 7.0.1 R14SP1 2004MATLAB 7.0.4 R14SP2 2005MATLAB 7.1 R14SP3 2005MATLAB 7.2 R2006a 2006MATLAB 7.3 R2006b 2006MATLAB 7.4 R2007a 2007MATLAB 7.5 R2007b 2007MATLAB 7.6 R2008a 2008MATLAB 7.7 R2008b 2008MATLAB 7.8 R2009a 2009
14、.3.6MATLAB 7.9 R2009b 2009.9.4MATLAB 7.10 R2010a 2010.3.5 建议:建议:7.0之后的版本是修正版本之后的版本是修正版本版本越新,界面越漂亮,专用工具包版本越新,界面越漂亮,专用工具包越多,占用资源越大,开启越慢越多,占用资源越大,开启越慢数学建模基地数学建模基地陈思宏医学物理师13249211531365270876 菜单项菜单项File,其功能如下,其功能如下New 建立新文件建立新文件Open M-File 打开打开M-文件文件Open selected 打开选定文件打开选定文件Save Workspace As 将工作区存为将工作区
15、存为Run M-File 运行运行 M-文件文件Look For Selected 寻找选定文件寻找选定文件Print 打印打印Print Setup 打印设置打印设置Exit MATLAB 退出退出MATLAB数学建模基地数学建模基地陈思宏医学物理师13249211531365270876九、九、matlab的演示功能的演示功能 demo 在线演示在线演示 intro 入门演示入门演示数学建模基地数学建模基地陈思宏医学物理师13249211531365270876THE END数学建模基地数学建模基地陈思宏医学物理师13249211531365270876help的使用的使用 help 功能
16、提供功能提供matlab大部分主题的在线帮大部分主题的在线帮助信息助信息help 显示显示help 主题一览表主题一览表help plotxyz 显示有关三维做图指令帮助信显示有关三维做图指令帮助信息息help 显示特殊字符与符号帮助信息显示特殊字符与符号帮助信息help help 显示显示help 的帮助信息的帮助信息 虽然虽然help可以随时提供帮助,可以随时提供帮助,但必须知道准确的函数名称。当但必须知道准确的函数名称。当不能确定函数名称时,不能确定函数名称时,help就无就无能为力了。能为力了。数学建模基地数学建模基地陈思宏医学物理师13249211531365270876Lookfo
17、r Lookfor函数函数 它可提供通过一般的关键词,搜索出它可提供通过一般的关键词,搜索出一组与之相关的命令一组与之相关的命令lookfor fourier 寻找含有傅立叶变换的相关指令寻找含有傅立叶变换的相关指令lookfor fouri 寻找所有包含寻找所有包含fouri的指令和注释的指令和注释如如 FFT Discrete Fourier transform数学建模基地数学建模基地陈思宏医学物理师13249211531365270876矩阵运算功能矩阵运算功能MATLAB提供了丰富的矩阵运算处理功提供了丰富的矩阵运算处理功能,是能,是基于矩阵运算的处理工具基于矩阵运算的处理工具。变量变
18、量 矩阵,运算矩阵,运算 矩阵的运算矩阵的运算例如例如 C = A + B ,A,B,C都是矩阵都是矩阵,是是矩阵的加运算矩阵的加运算即使一个常数,即使一个常数,Y=5,MATLAB也看做也看做是一个是一个1 1的矩阵的矩阵数学建模基地数学建模基地陈思宏医学物理师13249211531365270876强大的联机检索帮助系统强大的联机检索帮助系统可随时检索可随时检索matlab函数函数可随时查询可随时查询matlab函数的使用方法函数的使用方法 help lookfor help、lookfor 两个指两个指令构成了令构成了matlab语言相当完语言相当完善的在线帮助查询系统善的在线帮助查询系
19、统 数学建模基地数学建模基地陈思宏医学物理师13249211531365270876符号运算功能符号运算功能符号运算即用字符串进行数学分析符号运算即用字符串进行数学分析允许变量不赋值而参与运算允许变量不赋值而参与运算(C语言,语言,C+等必须赋值等必须赋值)用于解代数方程、微积分、复合导数、积用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号乐级数展开、寻优等等,可求得解析符号解解数学建模基地数学建模基地陈思宏医学物理师13249211531365270876syms t;u=exp(-5*t)*co
20、s(2*t-1)+5;uu=5*diff(u,t,2)+4*diff(u,t)+2*u;syms t y;y=dsolve(D4y+10*D3y+35*D2y+50*Dy+24*y=87*exp(-5*t)*cos(2*t-1)+92*exp(-5*t)*sin(2*t-1)+10)yc=latex(y) 数学建模基地数学建模基地陈思宏医学物理师13249211531365270876丰富的绘图功能与计算结果的可视化丰富的绘图功能与计算结果的可视化具有高层绘图功能具有高层绘图功能两维、三维两维、三维绘图绘图具有底层绘图功能具有底层绘图功能句柄绘图句柄绘图使用使用plot函数可随时将计算结果可函
21、数可随时将计算结果可视化视化数学建模基地数学建模基地陈思宏医学物理师13249211531365270876MATLAB的容错功能的容错功能非法操作时,给出提示,并不影响其非法操作时,给出提示,并不影响其操作操作1/0Warning: Divide by zeroans = Inf数学建模基地数学建模基地陈思宏医学物理师13249211531365270876例、用简短命令计算并绘制在例、用简短命令计算并绘制在0 x 6范范围内的围内的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,y
22、1,x, y2,x, y3)数学建模基地数学建模基地陈思宏医学物理师13249211531365270876例、用一个简单命令求解线性系统例、用一个简单命令求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4A=3 1 -1;1 2 4;-1 4 5;b=3.6;2.1;-1.4;x=Abx = 1.4818 -0.4606 0.3848数学建模基地数学建模基地陈思宏医学物理师13249211531365270876三维图举例三维图举例 t=linspace(0,100); x=cos(t); y=sin(t); z=cos
23、(t).*sin(t); plot3(x,y,z)数学建模基地数学建模基地陈思宏医学物理师13249211531365270876MATLAB的兼容功能的兼容功能可与可与C语言、语言、FORTURE语言语言跨平台兼容跨平台兼容用函数用函数CMEX、FMEX实现实现此功能不推荐使用此功能不推荐使用数学建模基地数学建模基地陈思宏医学物理师13249211531365270876syms t;u=exp(-5*t)*cos(2*t-1)+5;uu=5*diff(u,t,2)+4*diff(u,t)+2*u;syms t y;y=dsolve(D4y+10*D3y+35*D2y+50*Dy+24*y=87*exp(-5*t)*cos(2*t-1)+92*exp(-5*t)*sin(2*t-1)+10)yc=latex(y)