[问题]error fminsearch

楼主: d0068267 (WizXu)   2015-05-05 14:03:25
各位大德大能好,
小弟在试课本的一个题目,但一直跑出红字...
这个是有关函数握把跟fminsearch的题目
我的函数档是这样撰写的:
function L=channel(x)
L=100./x(1)-x(1)./tan(x(2))+2*x(1)./sin(x(2));
在Workspace输入
x=fminsearch(@channel,[20,1])
却跑出:
Error in fminsearch(line 191)
fv(:,1) = funfcn(x,varargin{:});
可以解释红字的意思,还有我哪里出错了吗?
作者: celestialgod (天)   2015-05-05 16:45:00
我猜是要给x设限制,function值出现NA...我matlab R2015a出现另外一个错误XD我帮你用其他程式跑会出现最小值-5E35....
楼主: d0068267 (WizXu)   2015-05-05 22:25:00
其实这个问题是要怎么用fminsearch来找双变量函数的最小值的时候,双变量的值个别是什么。答案会回传x(1),x(2)L(d,q)=100/(d) - d/tan(q) + 2*d/sin(q),当L最小的时后,d,q多少
作者: celestialgod (天)   2015-05-05 23:14:00
我意思是你写法没问题,可是这个L有问题因为我用其他的solver告诉我最小值会..到-5E35...
作者: sunev (Veritas)   2015-05-06 07:06:00
x(1)>0 x2=0-时就爆掉了
楼主: d0068267 (WizXu)   2015-05-06 07:14:00
那我想就是要想办法给订范围嘛~"~,那应该怎么写呢?
作者: celestialgod (天)   2015-05-06 07:54:00
这个是你要最小化的东西,怎么问版友要怎么写? 也可以这样跟你说这个东西你要多小有多小,重点是你要不要把他bound住或是给适当限制条件
楼主: d0068267 (WizXu)   2015-05-06 19:04:00
应该说,我不知道要怎么用函数bound双变量含数,我知道fminbnd(fun,a,b)可以bound a<x<b,但现在这一题是要bnda1<x(1)<b2 , a2<x(2)<b2,那我应该用哪个内建函数?
作者: celestialgod (天)   2015-05-06 21:22:00
doc fmincon
楼主: d0068267 (WizXu)   2015-05-09 12:26:00
thank u~

Links booklink

Contact Us: admin [ a t ] ucptt.com