关于matlab中的fminsearch函数的使用

编写了一个关于图像处理的程序,在调用fminsearch函数的过程中,报错,但我并不知道是什么原因,恳请各位师兄师姐帮帮忙:我的程序是:k=fminsearch(@(k)... 编写了一个关于图像处理的程序,在调用fminsearch函数的过程中,报错,但我并不知道是什么原因,恳请各位师兄师姐帮帮忙:
我的程序是:
k=fminsearch(@(k)StdMonochrome,[-1,-1]);

function MinI=StdMonochrome(k,G)
MinI=k(1)*G(:,:,1)+k(2)*G(:,:,2)+G(:,:3);

报的错误是:
Error in ==> fminsearch at 175
fv(:,1) = funfcn(x,varargin{:});
Error in ==> readmain at 24
k=fminsearch('StdMonochrome',[-1,-1]);

万分感激!!!!1
展开
 我来答
百度网友f0c03ec
推荐于2018-04-12 · TA获得超过215个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:107万
展开全部
从你的初始值看k和G都是变量,若是,则将两个变量处理成一个向量来给fminsearch。
xout = fminsearch(@(x)StdMonochrome(x(1),x(2)),[-1,-1]);
xout(1)为搜索的k,xout(2)为搜索的G,k,G的初始值均为-1

但从你调用fminsearch的语句来看只有k是变量,若是,可以写成kout=fminsearch(@(k)StdMonochrome(k,G),-1),-1是k的初始值,G为常量,kout为搜索的k
临川望水
推荐于2016-07-24 · TA获得超过448个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:223万
展开全部
你的G应该是已知变量吧
改为
k=fminsearch(@(k)(k(1)*G(:,:,1)+k(2)*G(:,:,2)+G(:,:,3)),[-1,-1]);试试
追问
还是不行,同样的错误报错!
追答
函数不变
命令改为
k=fminsearch(@(k)StdMonochrome(k,G),[-1,-1]);
如果还不行,就是你的G变量的问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式