m0_69473531 2024-05-28 13:04 采纳率: 78.6%
浏览 3
已结题

错误使用 optimoptions 'QuasiNewtonAlgorithm' is not an option for FMINUNC.

错误使用 optimoptions
'QuasiNewtonAlgorithm' is not an option for FMINUNC.
options = optimoptions('fminunc', 'Algorithm', 'quasi-newton', 'QuasiNewtonAlgorithm', 'dfp', 'Display', 'iter');
2022b这要怎么解决

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-05-28 13:04
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在使用MATLAB的fminunc函数时,您遇到了一个错误,提示'QuasiNewtonAlgorithm'不是fminunc的选项。这个问题可以通过正确设置fminunc的算法选项来解决。

    首先,fminunc函数在MATLAB中用于求解无约束的非线性优化问题,它默认使用基于牛顿法的优化算法。在MATLAB R2016b及以后的版本中,fminunc不再使用传统的'quasi-newton'算法,而是使用了一种更现代的算法,称为'trust-region'算法[^3^][^4^]。

    如果您希望使用类似'quasi-newton'算法的行为,您可以通过设置fminuncAlgorithm选项为trust-region,并使用HessianApproximation选项来指定使用L-BFGS算法,这是一种有限内存的拟牛顿算法,类似于传统的'quasi-newton'方法[^4^]。

    以下是您可以尝试的代码示例,以设置fminunc的选项:

    options = optimoptions('fminunc', ...
        'Algorithm', 'trust-region', ...      % 使用trust-region算法
        'HessianApproximation', 'lbfgs', ...  % 使用L-BFGS算法近似Hessian矩阵
        'Display', 'iter');                    % 显示每次迭代的信息
    

    请注意,optimoptions函数的参数设置应该遵循MATLAB文档中的规范,确保使用的选项名称和值是正确的。

    关于参考资料,以下是一些有用的链接:

    1. 非线性无约束优化问题fminunc函数的应用MATLAB-国赛 ...[^2^]
    2. 使用 fminunc 进行无约束最小化 - MATLAB & Simulink ...[^3^]
    3. 求无约束多变量函数的最小值 - MATLAB fminunc ...[^4^]
    4. fminunc with quasi-Newton algorithm giving unexpected results - MATLAB ...[^5^]
    5. fminunc with quasi-Newton algorithm giving unexpected ...[^8^]

    希望这些信息能帮助您解决问题。如果您有其他问题或需要进一步的帮助,请随时告诉我。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 5月28日

悬赏问题

  • ¥15 基础的图像处理问题求解答
  • ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
  • ¥15 idea做图书管理系统,要求如下
  • ¥15 最短路径分配法——多路径分配
  • ¥15 SQL server 2022安装程序(英语)无法卸载
  • ¥15 关于#c++#的问题:把一个三位数的素数写在另一个三位数素数的后面
  • ¥15 求一个nao机器人跳舞的程序
  • ¥15 anaconda下载后spyder内无法正常运行
  • ¥20 统计PDF文件指定词语的出现的页码
  • ¥50 分析一个亿级消息接收处理策略的问题?