Matlab中函数输入与调用及最优化问题解析

需积分: 21 1 下载量 147 浏览量 更新于2024-08-22 收藏 730KB PPT 举报
这篇资源主要介绍了如何在Matlab中输入和调用函数,特别是与最优化相关的操作,适用于无约束最优化问题的解决。教程涵盖了自变量为数量形式和向量形式的函数输入方法,以及利用Matlab求解函数极值的基本步骤。 ## 一、自变量为数量形式的函数输入 在Matlab中,定义一个函数需要创建一个M文件。首先,通过点击Matlab主窗口的新建按钮来创建一个新的M文件。然后,按照以下格式输入函数内容: 1. 使用`function`关键字作为函数定义的开始。 2. 定义函数名,例如`f1`,并指定自变量,如`(x1, x2)`。 3. 输入函数表达式,例如`a=exp(x1^2+x2)`。 4. 赋值给函数输出,如`f1=a`。 5. 保存函数文件,文件名应与函数名一致,并保持在默认路径下。 6. 在命令窗口中调用函数,如`f1(1,2)`来获取函数在特定点的值。 ## 二、自变量为向量形式的函数输入 当函数的自变量是二维向量时,输入和调用方式略有不同: 1. 输入函数时,明确表示自变量为向量,如`f(x)=exp(x(1)^2+x(2))`。 2. 调用函数时,使用向量形式,如`f2([1,2])`或`x=[1,2]; f2(x)`。 ## 三、Matlab中的函数极值求解 Matlab提供了`fminbnd`函数来求解一元函数的极值。这个函数的基本用法是: 1. `x=fminbnd(f,a,b)`,用于在区间`[a, b]`上找到函数`f`的最小值点。 2. 对于最大值问题,可以通过求`-f(x)`的最小值来间接得到`f(x)`的最大值。 3. 常用格式`[x,fval]=fminbnd(f,a,b)`,返回最小值点`x`和最小值`fval`。 ## 四、函数极值的求法 在Matlab中,`fminbnd`函数可用于求解一元函数的极大值或极小值。例如,通过以下命令可找到函数`x.^2+`的最小值点和值: ```matlab [x,fval]=fminbnd(@(x) x.^2+1, -10, 10); ``` 这将返回在区间`[-10, 10]`内,函数`x.^2+1`的最小值点`x`和对应的函数值`fval`。 总结来说,本资源是关于如何在Matlab中定义、调用函数以及利用Matlab解决最优化问题的实践指南,特别是对于初学者,它提供了一套清晰的操作步骤和示例,帮助理解和掌握这一重要工具。