Main Content

优化

在实时编辑器中优化

自 R2020b 起

说明

通过优化任务,您能够以交互方式优化非线性目标函数或求解非线性方程。该任务会自动为您的实时脚本生成 MATLAB® 代码。

使用此任务,您可以:

  • 通过编写函数或浏览函数来指定目标函数。

  • 指定求解器选项。

  • 运行优化。

如果您有 Optimization Toolbox™ 或 Global Optimization Toolbox,您可以使用优化任务求解更多类型的问题,例如求解非线性方程组或优化具有非线性约束的目标函数。有关实时编辑器任务的一般信息,请参阅将交互式任务添加到实时脚本中

Optimize task in Live Editor

打开任务

要将优化任务添加到 MATLAB 编辑器中的实时脚本,请在实时编辑器的插入选项卡上,选择任务 > 优化

Insert Optimize Live Editor task

或者,在脚本的代码块中,键入相关关键字,例如 fminbnd。从建议的命令自动填充项中选择优化

Choosing Optimize from command completion suggestions

参数

全部展开

MATLAB 用于求解问题的优化求解器,指定为以下求解器之一:

  • fminbnd - 最小化有界域上一个变量的实函数。

  • fminsearch - 最小化无界域上几个变量的实函数。

  • lsqnonneg - 基于 x ≥ 0 约束最小化 norm(C*x-d)

  • fzero - 找到满足实非线性函数 f(x) = 0 的实点 x

示例: fminsearch

要计算最小值(对于 fminbndfminsearch)或求根(对于 fzero)的函数,指定为函数句柄、局部函数名称或函数文件。

  • 函数句柄 - 在工作区中创建函数句柄。然后,在优化任务中,选择目标函数 > 函数句柄,并选择目标函数。

  • 局部函数

    • 新建 - 在优化任务中,选择目标函数 > 局部函数,然后点击新建按钮。新函数定义出现在任务下方。编辑函数,使其计算目标。然后选择局部函数。

    • 现有 - 选择目标函数 > 局部函数,然后选择局部函数。

  • 函数文件

    • 新建 - 在优化任务中,选择目标函数 > 从文件,然后点击新建按钮。出现新函数文件。编辑文件以计算目标,然后将文件保存在 MATLAB 路径中。点击浏览按钮并选择文件。

    • 现有 - 选择从文件,然后选择浏览... 并选择文件。

提示

  • 对于具有额外输入的函数,优化要求您选择优化变量,并指定哪些工作区变量包含固定数据输入。此示例包含三个函数输入:

    Optimization input = "vars", Fixed input y = "y", Fixed input w = "w"

    优化仅在指定所有函数输入后才生成代码。

  • 优化无法解析包含 varargin 输入的函数或包含错误的函数。

  • 如果从文件中选择目标函数,优化会将文件位置添加到您的 MATLAB 路径中。

  • 如果优化出现解析错误,或多个局部函数同名,则可用局部函数列表为空。

版本历史记录

在 R2020b 中推出

另请参阅

函数