登录论坛

查看完整版本 : [MATLAB数学相关] 关于《精通MATLAB最优化计算》一书中Funval函数的说明


gongc02
2009-09-21, 00:49
大家好,如果你们买了《精通MATLAB最优化计算》一书的话,请往下看。

我是该书的作者gc,由于我的粗心,里面的Funval函数代码与《MATLAB语言常用算法程序集》中的Funval函数代码搞混了,在此深表歉意。

下面贴上正确的代码。

function fv = Funval(f,varvec,varval)
var = findsym(f);
varc = findsym(varvec);
s1 = length(var);
s2 = length(varc);
m =floor((s1-1)/3+1);
varv = zeros(1,m);

if s1 ~= s2
for i=0: ((s1-1)/3)
k = findstr(varc,var(3*i+1));
index = (k-1)/3;
varv(i+1) = varval(index+1);
end
fv = subs(f,var,varv);
else
fv = subs(f,varvec,varval);
end