永发信息网

《精通MATLAB最优化计算》一书中Funval函数应用

答案:3  悬赏:60  手机版
解决时间 2021-02-27 07:14
  • 提问者网友:两耳就是菩提
  • 2021-02-26 22:54
在《精通MATLAB最优化计算》一书中,很多m文件中都用到了Funval函数,可是这个函数没有定义,怎么办?这次函数的源程序我有,可是不知道怎么用?
我有这个函数的源程序,但是在调用这个函数的其余函数的m文件时如何使用啊?
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-02-27 00:05
此书funval函数的作用即求函数值,可将funval直接改写为subs,不影响结果。subs的用法你会吧?~
全部回答
  • 1楼网友:北方的南先生
  • 2021-02-27 02:06
抽象机的堆 ,堆对象有下面四类: basic:存放基值的单元 funval:对象表示一个函数值 1、cf:指向程序区中函数体开始的地方 2、fap:指向函数变元向量 3、fgp:函数各全局变量值的指针所组成的向量的指针 后两个向量也存在堆中 closure:对象是一个闭包,有两个成分 1、cp:代码指针 2、gp:全局变量值的指针向量的指针 vector:对象是堆对象指针的向量 1、存放函数变元的指针,或 2、存放funval对象的全局变量的指针,或 3、存放closure对象的全局变量的指针 上面的代码函数f需要用m文件定义出来 参数
  • 2楼网友:轻熟杀无赦
  • 2021-02-27 00:44
%%我用这个函数调试成功了 function fv = Funval(f,varvec,varval) var = symvar(f); varc = symvar(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 = strfind(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,transpose(varval)); end end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯