大连理工大学MATLAB概述
- 格式:ppt
- 大小:573.50 KB
- 文档页数:11
日日行,不怕千万里;时时学,不怕千万卷。
第一讲 Matlab概述1.1 Matlab的历程和影响Matlab一词是Matrix Laboratory(矩阵实验室)的缩写。
20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用Fortran编写的萌芽状态的Matlab。
经过几年的校际流传,在Little的推动下,Little、Steve、Bangert合作,于1984年成立了Math Works公司,并把Matlab正式推向市场。
这时的Matlab内核已采用C语言编写,而除了原有的数值计算功能外,还新增加了数据视图功能。
自从Matlab以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改以Matlab为平台加以重建。
在进入20世纪90年代的时候,已经成为国际公认的标准计算软件。
在欧美大学里,诸如数理统计、自动控制、数字信号处理、模拟与数字通讯、时间序列分析、动态系统仿真等课程的教科书把Matlab作为一项重要的学习内容。
这几乎成了20世纪90年代教科书与旧版书籍的区别性标志。
Matlab是本科、硕士、博士生必须掌握的基本工具。
在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流刊物上,尤其是信息科学刊物,都可以看到Matlab的应用。
Matlab将数值分析、矩阵运算、信号处理、图形功能和系统仿真融为一体,使用户在易学易用的环境中求解问题,如同书写数学公式一样,避免了传统复杂的专业编程。
MathWorks公司对Matlab的优点描述是“计算、可视化及编程一体化”。
在设计研究单位和工业部门,被认为是进行高效研究、开发的首选工具。
1.2 Matlab的特点Matlab有不同于其它高级语言的特点,它被称为第四代计算机语言。
MATLAB讲义第一章 MATLAB系统概述1.1 MATLAB系统概述MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。
特点:(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。
(2)语句书写简单。
(3)语句功能强大。
(4)有丰富的图形功能。
如plot,plot3语句等。
(5)提供了许多面向应用问题求解的工具箱函数。
目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。
(6)易扩充。
1.2 MATLAB系统组成(1)MATLAB语言MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。
同时MATLAB又具有面向对象编程特色。
MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。
(2)开发环境MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。
(3)图形处理图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。
还包括低级的图形命令,供用户自由制作、控制图形特性之用。
(4)数学函数库有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。
MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。
(5)MATLAB应用程序接口(API)MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。
1.3 MATLAB的应用范围包括:MATLAB的典型应用包括:●数学计算●算法开发●建模、仿真和演算●数据分析和可视化●科学与工程绘图●应用开发(包括建立图形用户界面)以矩阵为基本对象第二章 Matlab基础2.1 MATLAB快速入门(1)搜索路径搜索路径也被看作是MATLAB的路径,其包含的文件被认为在路径上。
MatLab 软件简介(Version 6.5)A.1 概述MatLab (Matrix Laboratory )是矩阵实验室的意思,既是一种语言,又是一个编程环境。
MatLab 是数学计算的强有力工具,是一种用于工程计算的高性能语言,它以矩阵作为数据操作的基本单位,在数理统计、自动控制、数字信号处理、动态系统仿真方面有着重要的应用。
A.1.1 MatLab 的特点其特点体现在以下几个方面: ◆ 编程效率高 ◆ 用户使用方便 ◆ 扩充能力强 ◆ 语句简单◆ 高效方便的矩阵和数组运算 ◆ 方便的绘图功能 ◆ 开放的源程序A.1.2 MatLab 的构成MatLab 主要由5部分组成: ◆ MatLab 工作环境 ➢ 桌面 ➢ 命令窗口➢ 命令历史工作期 ➢ 帮助浏览器 ➢ 工作空间➢ M 文件和搜索路径窗口 ◆ MatLab 数学函数库➢ 基本函数:如,sum,sin ,cos 等➢ 复杂函数:如,求矩阵特征值、特征向量、求逆、bessel 函数,fourier 变换 ◆ MatLab 语言➢ 以矩阵和向量为基本数据单位➢ 有控制流程语句、函数、数据结构、输入/输出语句等 ➢ 面向对象 ◆ 句柄图形句柄图形是MatLab 的图形系统,包括:➢ 高层次绘图命令➢低层次绘图命令A.1.3 MatLab 的运行方式(1) 命令行运行方式,格式:变量=表达式 或 表达式 例如在命令窗口输入:a=[1 2 3;4 5 6;7 8 9] 结果为: 二维和三维数据的可视化命令 图像处理命令 动画制作修改图形局部的命令 编制完整图形界面的命令1 2 34 5 67 8 9(2)M文件运行方式,如M文件名为abcd.m 则在命令窗口输入abcd回车即得运行结果。
帮助系统如何进入帮助系统方法一:利用任一窗口“Help”菜单。
方法二:利用发射台窗口。
帮助命令:help 函数名help sqrtA.2 数值运算A.2.1 变量◆规则:✧变量和常量的标识符最长允许31个字符✧函数与文件名通常不超过8个字符(受文件管理器的限制)✧字符可以是英文字母、阿拉伯数字和下划线,标识符中第一个必须是英文字母✧变量区分大小写:Cost与cost变量是不同的◆特殊变量名ans pi eps(系统浮点精确度)inf NaN i或j realmax realminnargin (函数的输入参数个数),nargout(函数的输出参数个数)A.2.2 矩阵与数组的创建与运算1.数组是程序设计语言中用到的一种数据结构,不是数学概念。
(完整版)Matlab简介Matlab简介1980年,美国CleveMoier博⼠在新墨西哥⼤学讲课时,认为⾼级语⾔的运⽤⼗分不便,于是创⽴了Matlab(MatrixLaboratory 的缩写),即矩阵实验室,早期的Matlab 软件是为了帮助⽼师和学⽣更好地学习,是作为⼀个辅助⼯具⽽之后逐渐演变成了⼀种实⽤性很强的⼯具。
1984,MathWorks软件公司推出了⼀种⾼级语⾔。
它不但能编程还能⽤于数值计算以及图形显⽰,并⽤与控制系统以及⼯程设计。
90年,MathWorks 软件公司为Matlab开发了⼀种新的⽤于图形控制及仿真模型建⽴的软件Simulink。
它是Matlab的⼀个扩展软件模块,这个模块为⽤户提供了⼀个⽤于建模仿真各种数学物理模型的软件,并且提供各种动态的结构模型,是⽤户可以快速⽅便的建模并且仿真,⽽不必写任何程序。
基于此优点,该⼯具很快被业界认可,并⽤于各种控制系统。
Matlab编程⼯具不像C语⾔那样难以掌握,所以在这种仿真环境下⽤户只需要简单的列出计算式,结果便会以数值或图形的⽅式显⽰出来。
从Matlab被发明以来,它的快速性集成性、以及应⽤的⽅便性在⾼校中得到了好评。
它可以很⽅便的进⾏图形输出输⼊,同时还具有⼯具箱函数库,也能针对各个学科领域实现各种计算功能。
另外,Matlab和其他⾼级语⾔也具有良好的接⼝,可以⽅便地与其他语⾔实现混合编程,这都进⼀步拓宽了它的应⽤范围和使⽤领域。
Matlab由主程序、Simulink动态仿真系统、和Matlab⼯具箱三部分组成。
其中主程序包括Matlab语⾔、⼯作环境以及应⽤程序;Simulink动态仿真系统是⼀个相互交互的系统,⽤户制作⼀个模拟系统,并动态控制它;⽽⼯具箱就是Matlab基本语句的各种⼦程序和函数库。
它有可以分为功能性和学科性⼯具箱。
功能性的⼯具箱主要⽤于扩展Matlab的符号计算功能、图形建模功能、⽂字处理功能和与硬件的实时交互过程,如符号计算⼯具箱等;学科性的⼯具箱则有较强的专业性,⽤于解决特定的问题,如信号处理⼯具箱和通信⼯具箱。
优化方法上机大作业学院:姓名:学号:指导老师:肖现涛第一题源程序如下:function zy_x = di1ti(x)%di1ti是用来求解优化作业第一题的函数。
x0=x; yimuxulong=0.000001;g0=g(x0);s0=-g0;A=2*ones(100,100);k=0;while k<100lanmed=-(g0)'*s0/(s0'*A*s0);x=x0+lanmed*s0;g=g(x);k=k+1;if norm(g)<yimuxulongzy_x=x;fprintf('After %d iterations,obtain the optimal solution.\n \n The optimal solution is \n %f.\n\nThe optimal "x" is "ans".',k,f(x) )break;endmiu=norm(g)^2/norm(g0)^2;s=-g+miu*s0;g0=g; s0=s;x0=x;endfunction f=f(x)f=(x'*ones(100,1))^2-x'*ones(100,1);function g=g(x)g=(2*x'*ones(100,1))*ones(100,1)-ones(100,1);代入x0,运行结果如下:>> x=zeros(100,1);>> di1ti(x)After 1 iterations,obtain the optimal solution.The optimal solution is-0.250000.The optimal "x" is "ans".ans =0.005*ones(100,1).第二题1.最速下降法。