Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

优化

在实时编辑器中优化

说明

优化任务允许您基于各种类型的约束以交互方式优化线性和非线性目标函数,并求解非线性方程组。该任务会自动为您的实时脚本生成 MATLAB® 代码。

使用此任务,您可以:

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

  • 指定求解器选项。

  • 运行优化。

有关实时编辑器任务的一般信息,请参阅将交互式任务添加到实时脚本中

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 中推出