《精通MATLAB最优化算法》混合罚函数法Undefined function 'Funval' for input arguments of type 'sym'.
发布网友
发布时间:2022-04-30 14:59
我来回答
共1个回答
热心网友
时间:2023-10-08 11:59
书里之前章节可定有提到,所以这里直接引用了。具体函数
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
将段程序单独存为Funval.m就可以调用了.
望采纳!