精通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

抽象机的堆 ,堆对象有下面四类:
BASIC:存放基值的单元
FUNVAL:对象表示一个函数值
1、cf:指向程序区中函数体开始的地方
2、fap:指向函数变元向量
3、fgp:函数各全局变量值的指针所组成的向量的指针
后两个向量也存在堆中
CLOSURE:对象是一个闭包,有两个成分
1、cp:代码指针
2、gp:全局变量值的指针向量的指针
VECTOR:对象是堆对象指针的向量
1、存放函数变元的指针,或
2、存放FUNVAL对象的全局变量的指针,或
3、存放CLOSURE对象的全局变量的指针

上面的代码函数f需要用m文件定义出来 参数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-07
end
fv = subs(f,var,varv);
else
fv = subs(f,varvec,varval);
end
分享到:
举报| 2010-01-24 20:46 #深海寻宝总动员 多重好礼任你选!# 提问者采纳
抽象机堆 堆象面四类:
BASIC:存放基值单元
FUNVAL:象表示函数值
1、cf:指向程序区函数体始
2、fap:指向函数变元向量
3、fgp:函数各全局变量值指针所组向量指针
两向量存堆
CLOSURE:象闭包两
1、cp:代码指针
2、gp:全局变量值指针向量指针
VECTOR:象堆象指针向量
1、存放函数变元指针或
2、存放FUNVAL象全局变量指针或
3、存放CLOSURE象全局变量指针

面代码函数f需要用m文件定义 参数
相似回答