【问题标题】:Newton's method for multivariate optimization in matlab牛顿法在matlab中进行多元优化
【发布时间】:2011-05-01 02:09:56
【问题描述】:

等式不能数值解时,如何计算梯度和hessian矩阵?

我的最小化方程是:

c=c[(x/y/(1-x)^2)^0.6 + (1-(x/y)/(1-y)^2)^0.6 + 6/y^0

我尝试了 MATLAB 函数“diff”来计算梯度和粗麻布。但是推导比一个人可以处理的要长得多。如何编写计算hessian或梯度的代码?

【问题讨论】:

  • 你可能在这里有更多的运气:math.stackexchange.com
  • 你能添加一个函数的图像来最小化吗?谢谢。

标签: matlab gradient mathematical-optimization hessian-matrix


【解决方案1】:

为什么你说这个方程不能用数值求解?你的意思是它不能解析地解决吗?您对要优化的函数 c 的声明中似乎有错字。当你提到你使用 Matlab 的 diff() 函数时,你的意思是你在一个网格上评估你的函数然后区分它吗?或者您是在谈论将函数句柄传递给 Matlab 的符号库?

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 2019-06-19
    • 2012-06-24
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多