0

如何在方程不能数值求解时计算梯度和Hessian矩阵?牛顿在matlab中进行多元优化的方法

我的最小化公式为:

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

我尝试了MATLAB函数“差异”来计算梯度和麻袋。但派生要比人能处理的要长得多。如何编写用于计算hessian或渐变的代码?

+0

你可能在这里有更多的运气:http://math.stackexchange.com/ – Eli 2011-05-01 02:12:39

+0

你可以添加一个函数的图像来最小化?谢谢。 – Royi 2017-08-05 21:33:14

回答

0

你为什么说公式不能用数字解决?你的意思是它不能通过分析解决吗?在您想要优化的函数c中,似乎存在拼写错误。当你提到你使用Matlab的diff()函数时,你的意思是你在网格上评估了你的函数,然后区分它吗?或者你在说要传递一个函数句柄给Matlab的符号库吗?