在1984年,MathWorld软件开发公司推出了第一个MATLAB商业版本,其核心是用C语言编写的。而后,他又添加了丰富多彩的图形处理、多媒体、符号运算以及与其他流行软件的接口功能,使得MATLAB越来越符合社会的需求。1992年推出MATLAB4.0,2004年推出了MATLAB Release 14,即MATLAB 7.0,2009年又推出R2009a,它是目前的最新版本。几十年不断的研究和完善,现在MATLAB已是当今世界最流行的一种集科学计算和工程计算于一身的软件工具。作为一种具有广泛运用前景的全新的计算机编程语言,MATLAB被很多人当作高效研究与开发的首选软件,也被列为应用代数和动态系统仿真等课程的教学工具。
2.1.2 MATLAB的主要特点与优势
MATLAB的主要特点和优势如下:友好的工作平台和编程环境、简单易用的编程语言、强大的科学计算数据能力、优秀的图形处理功能、应用广泛的模块集合工具箱、实用的程序接口和发布平台。
MATLAB有一个最主要的特色就是它有两个特殊的应用子程序,分别是程序扩展系统和工具箱。工具箱又被称为MATLAB函数的子程序库,每一个工具箱都有它特殊的意义,都是为某一类学科专业或应用设计制定的,主要包括模糊逻辑、控制系统、信号处理、小波分析、神经网络和系统仿真等方面的应用。
2.1.3 MTLAB系统的构成
MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分组成。
2.2 MATLAB中最优化函数计算方法的介绍源'自^优尔;文,论`文'网]www.youerw.com
最优化指的是在一定条件下,寻求是目标函数最大或最小的决策,我们在处理优化设计问题时,我们可以利用MATLAB提供的最优化计算工具箱中的函数进行最优化计算,也可以编程实现相应的最优化算法来设计计算。
2.2.1无约束最优化
常见的无约束最优化方法有:二次插值法、遗传算法(GA)、模拟退火法(SA)、牛顿方法、黄金搜索法、Nelder-Mead方法(单纯型算法)和最速下降法,利用MATLAB,可以很方便地实现这些算法。
① 二次插值法
1. 算法原理
在包含 极小值 的区间[a,b]中,给定三点 ,他们对应的函数值分别为 ,且满足 。可以构造二次函数 ,使其在三点处的值等于 对应的函数值。可以根据 ,求得该二次项式取最小值时的点 如下所示:
根据求出的 的大小情况确定取代三点中的某一点。指导 ,或 时停止迭代,其中 和 为精度要求,并令 为对应小值的点。
2. 算法步骤
步骤一:比较 与 大小,若 ,转步骤二。否则,转到步骤三;
步骤二:如果 ,则 ,转到步骤四;否则, ,转到步骤四;
步骤三:若 ,则 ,转到步骤四;否则, ,转到步骤四。
步骤四:区间搜索完毕,在新的搜索区间 上计算插值函数的极小点 。
3. 算法的MATLAB实现
在MATLAB中编程实现的二次插值算法为:Opt_Quadratic。
功能:二次插值算法求区间上的无约束最优化解。
调用格式:[xo,fo]=Opt_Quadratic(f, x, TolX, TolFun, MaxIter)。
其中,f为函数名;