首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab @fminunc目标函数优化

Matlab @fminunc目标函数优化
EN

Stack Overflow用户
提问于 2015-06-02 21:25:56
回答 1查看 1.5K关注 0票数 0

我目前正在Matlab中进行一个简单的函数优化,希望您能够对以下错误提供很少的帮助/解释:

代码语言:javascript
运行
复制
%quadramin.m
function z=quadramin(param,data);
z=data.*(param(1).^2 - param(2).^3)+3;

%quadramin_lik.m
function quadlik = quadramin_lik(param,data);
%pseudo/ad-hoc log-likelihood function
quadlik = quadramin(param,data)- 10;

%script.m
data=trnd(5,6,1);
param0=[2,3];
[param_eq,exitflag,output,grad,hessian] = ... 
fminunc(@(param) quadramin_lik(param,data),param0)

使用fminunc (第333行)用户提供的目标函数执行%script.m:错误后的输出必须返回标量值.

ps:它看起来很矛盾,因为用户定义的函数象限&& quadramin_lik确实返回值。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-02 22:09:28

这两个函数都返回一个值向量,而fminunc则要求该函数返回一个标量/单个值。错误很明显。函数fminunc试图找到最小化成本函数的最佳解决方案,因此您需要提供的是一个成本函数。

因此,在返回结果之前,也许试着把每个函数的结果相加.但是这样做并不能保证全局最小值,因为fminunc假定成本函数是凸的。然而,从您的评论判断,因为您正在计算日志的可能性,然后总结是您应该做的任何方式!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30606902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档