线性最小二乘
求解具有边界或线性约束的线性最小二乘问题
在开始求解优化问题之前,您必须选择合适的方法:基于问题或基于求解器。有关详细信息,请参阅首先选择基于问题或基于求解器的方法。
线性最小二乘求解 min||C*x - d||2,可能有边界或线性约束。
对于基于问题的方法,请创建问题变量,然后用这些符号变量表示目标函数和约束。有关基于问题的求解步骤,请参阅基于问题的优化工作流。要求解生成的问题,请使用 solve
。
有关基于求解器的求解步骤,包括定义目标函数和约束,以及选择合适的求解器,请参阅基于求解器的优化问题设置。要求解生成的问题,请使用 lsqlin
;或者,对于非负最小二乘,也可以使用 lsqnonneg
。
函数
实时编辑器任务
优化 | 在实时编辑器中优化或求解方程 (自 R2020b 起) |
主题
基于问题的线性最小二乘
- 到平面的最短距离
说明如何使用基于问题的方法求解线性最小二乘问题。 - 基于问题的非负线性最小二乘法
展示如何使用基于问题的方法和几个求解器来求解非负线性最小二乘问题。 - 基于问题的大规模约束线性最小二乘法
使用基于问题的方法求解光学去模糊问题。 - 编写基于问题的最小二乘法的目标函数
基于问题的最小二乘法的语法规则。
基于求解器的线性最小二乘
- 使用 lsqlin 求解器优化实时编辑器任务
展示优化实时编辑器任务和线性最小二乘法的示例。 - 基于求解器的非负最小二乘法
此示例说明如何使用几种算法来求解线性最小二乘问题,并且约束边界是解为非负。 - 雅可比乘法函数与线性最小二乘法
该示例展示了如何在大型结构化线性最小二乘问题中节省内存。 - 热启动最佳实践
描述如何最好地利用热启动来加速重复解。 - 基于求解器的大规模约束线性最小二乘法
使用基于求解器的方法求解光学去模糊问题。
代码生成
- 线性最小二乘中的代码生成:背景
为线性最小二乘生成 C 代码的前提条件。 - 为 lsqlin 生成代码
线性最小二乘法的代码生成示例。 - 实时应用的优化代码生成
探索处理生成代码中的实时需求的技术。
基于问题的算法
- 编写基于问题的最小二乘法的目标函数
基于问题的最小二乘法的语法规则。 - 基于问题的优化算法
了解优化函数和对象如何求解优化问题。 - 优化变量和表达式支持的运算
探索优化变量和表达式支持的数学和索引运算。
算法和选项
- 最小二乘(模型拟合)算法
在仅具有边界或线性约束的情况下,在 n 个维度中最小化平方和。 - 优化选项参考
了解优化选项。