MATLAB数值计算入门:函数极值与数值积分

需积分: 35 66 下载量 192 浏览量 更新于2024-08-10 收藏 2.58MB PDF 举报
"数值积分-变压器与电感器设计手册-第四版(中文)" 本文主要讨论了数值积分在MATLAB中的应用,以及如何利用MATLAB寻找函数的极小值点。在数学中,函数的极小值点是函数取局部或全局最小值的位置。在优化问题中,找到这样的点具有重要意义。 在MATLAB中,可以使用`fminsearch`和`fminunc`这两个函数来寻找一元或多元函数的极小值点。在【例4.7.2-1】中,我们遇到的是Rosenbrock's "Banana" 测试函数,这是一个常用于检验优化算法性能的函数,因其图形具有一片浅谷而闻名,很多算法在处理这个函数时会遇到困难。 首先,我们使用`fminsearch`函数,这是一个基于Nelder-Mead简单形法的无梯度优化算法。在代码(1)中定义了函数`ff`,然后在(2)中以初始值`x0`作为起点进行搜索。经过85次迭代和159次函数评估,`fminsearch`找到了一个极小值点`sx`,对应的函数值为`sfval`。退出状态`sexit`为1,表示优化成功。 接着,尝试使用`fminunc`函数,这是一个基于信赖域方法的优化工具,通常需要函数的梯度信息。当没有提供梯度时,它会退化为使用线性搜索。在代码(3)中,由于未提供梯度,`fminunc`给出了警告并自动切换到线性搜索方法。尽管如此,它仍然能够找到一个极小值点`ux`,函数值`sfval`更小,表示找到了一个更优的解。`fminunc`的退出状态同样是1,表明优化成功。输出还包括了迭代次数、函数评估次数和其他一些优化过程中的信息。 关于数值积分,这是计算函数在一定区间上的定积分的一种近似方法,特别适用于解析积分困难的情况。MATLAB提供了丰富的数值积分工具,如`quad`函数用于一维积分,`quad2d`和`quadgk`等函数用于二维和高维积分。数值积分通过将积分区间划分为小段,然后对每个小段应用积分近似公式,如梯形法则、辛普森法则等,最后将所有近似值相加得到总积分值。 在实际应用中,数值积分广泛应用于物理、工程、经济等领域,例如在电磁学中计算电感器或变压器的磁场能量,或者在金融中计算复杂的衍生品价值。MATLAB的数值积分功能强大且易于使用,使得这些复杂的计算变得简单。 第一章的基础准备和入门部分介绍了MATLAB的安装、启动及其核心组件——指令窗的使用。MATLAB的Desktop操作桌面是用户与软件交互的主要界面,包括历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器等,这些工具极大地提高了工作效率。对于新用户,熟悉这些界面和基本操作是掌握MATLAB的第一步。通过实例展示了如何在指令窗中进行基本的算术运算、矩阵操作,以及矩阵的分行输入等。 MATLAB是一个强大的数学计算和数值分析平台,对于数值积分和函数极值点的求解提供了高效的方法,同时也为用户提供了直观易用的交互环境。