错误的原因,自定义函数S定义变量不明确,即@(f)中变量f应与表达式的变量相对应。例如, f(x)=a*x^2+b*x-c的函数 应该这样来定义 func=@(x)a*x^2+b*x-c
将上述改写为 [xv,fv]=fminsearch(@(x)sin(x(1))+sin(x(2)),[0,0])就OK了。结果与前面的一样。
一直提示无法从 function_handle 转换为 double。 编辑器中functionf=f(x,y)f(1)=x-0.7.*sin(x)-0.2.*cos(y);f(2)=y-0.7.*cos(x)+0.2.*sin(y);命令行:[x,y]=meshgrid([-10:1:0],[-9:1:1])plot3(@f,[x,y]);我感觉是plot3用法有误,但... 编辑器中function f=f(x,y)f(1)=...