返回信息流RT,新手一枚,今天写了个求解最优解的程序,总是报错。。。像大家请教下~~程序如下:
K = 10;
>> h = 5;
>> lamda = 0.25; mu = 2.5;
>> beta = lamda/(lamda + mu);
>> D = 1;
>> p = 250;
>> g = inline('(K+h*(Q^2)./(2*D)+D*p*beta/mu)/(Q./D+beta/mu)','Q');
>> Q0 = 1;
>> [Q1, g1] = fminsearch(g, Q0);
程序写完后一直报错如下:
??? Error using ==> inlineeval at 15
Error in inline expression ==> (K+h*(Q^2)/(2*D)+D*p*beta/mu)/(Q/D+beta/mu)
Undefined function or variable 'K'.
Error in ==> inline.subsref at 27
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);
Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});
不知道是哪里的问题。。。还请各位大侠走过路过多多帮忙~~感激不尽!!
这是一条镜像帖。来源:北邮人论坛 / math-model / #8048同步于 2011/8/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MathModel机器人发帖
【求助】Matlab关于fminsearch的问题~多谢大家!!
wishmyself
2011/8/2镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 jellyray 的大作中提到: 】
: inline处理的函数应该里的字符应该只能是参变量吧,你试试把变量全局化,或者用function
: 最优化还是用lingo吧,解不出来再用优化算法解的好
: --
: ...................
额。。。虽然我不是很懂版主的意思。。。不过我把所有参数前面都加了个syms,这下报的错误是??? Error using ==> syms at 61
Not a valid variable name.
。。。我的意思就是这样写
g = inline('(10+5*(Q^2)./(2*1)+1*250*1.375/2.5)/(Q./1+1.375/2.5)','Q');
Q0=1;
[Q1, g1] = fminsearch(g,Q0)
如果要对常数修改,就不要用inline,用function并调用全局变量