用matlab fminsearch 函数怎么求z=2x^2+3y^2-4xy-y-3x的最小值?我是这么写的:x=linspace(-2,0,40);y=linspace(0,3,40);z=2*x.^2+3*y.^2-4*x.*y-y-3*y;[x,fval]=fminsearch(z,[-2,0])结果显示:? Error using ==> fcnchk at 108FUN must be a fun
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 07:40:02
![用matlab fminsearch 函数怎么求z=2x^2+3y^2-4xy-y-3x的最小值?我是这么写的:x=linspace(-2,0,40);y=linspace(0,3,40);z=2*x.^2+3*y.^2-4*x.*y-y-3*y;[x,fval]=fminsearch(z,[-2,0])结果显示:? Error using ==> fcnchk at 108FUN must be a fun](/uploads/image/z/9933558-6-8.jpg?t=%E7%94%A8matlab+fminsearch+%E5%87%BD%E6%95%B0%E6%80%8E%E4%B9%88%E6%B1%82z%3D2x%5E2%2B3y%5E2-4xy-y-3x%E7%9A%84%E6%9C%80%E5%B0%8F%E5%80%BC%3F%E6%88%91%E6%98%AF%E8%BF%99%E4%B9%88%E5%86%99%E7%9A%84%EF%BC%9Ax%3Dlinspace%28-2%2C0%2C40%29%3By%3Dlinspace%280%2C3%2C40%29%3Bz%3D2%2Ax.%5E2%2B3%2Ay.%5E2-4%2Ax.%2Ay-y-3%2Ay%3B%5Bx%2Cfval%5D%3Dfminsearch%28z%2C%5B-2%2C0%5D%29%E7%BB%93%E6%9E%9C%E6%98%BE%E7%A4%BA%EF%BC%9A%3F+Error+using+%3D%3D%3E+fcnchk+at+108FUN+must+be+a+fun)
用matlab fminsearch 函数怎么求z=2x^2+3y^2-4xy-y-3x的最小值?我是这么写的:x=linspace(-2,0,40);y=linspace(0,3,40);z=2*x.^2+3*y.^2-4*x.*y-y-3*y;[x,fval]=fminsearch(z,[-2,0])结果显示:? Error using ==> fcnchk at 108FUN must be a fun
用matlab fminsearch 函数怎么求z=2x^2+3y^2-4xy-y-3x的最小值?
我是这么写的:
x=linspace(-2,0,40);y=linspace(0,3,40);
z=2*x.^2+3*y.^2-4*x.*y-y-3*y;
[x,fval]=fminsearch(z,[-2,0])
结果显示:
? Error using ==> fcnchk at 108
FUN must be a function, a valid string expression, or an inline function object.
Error in ==> fminsearch at 178
funfcn = fcnchk(funfcn,length(varargin));
用matlab fminsearch 函数怎么求z=2x^2+3y^2-4xy-y-3x的最小值?我是这么写的:x=linspace(-2,0,40);y=linspace(0,3,40);z=2*x.^2+3*y.^2-4*x.*y-y-3*y;[x,fval]=fminsearch(z,[-2,0])结果显示:? Error using ==> fcnchk at 108FUN must be a fun
我看了一下帮助文件,fminsearch的调用方式是这样的:
banana = @(x)100*(x(2)-x(1)^2)^2+(1-x(1))^2;
[x,fval] = fminsearch(banana,[-1.2,1])
针对lz的题,则是:
z=@(x)2*x(1).^2+3*x(2).^2-4*x(1).*x(2)-x(2)-3*x(1);
[x,fval]=fminsearch(z,[-2,0])
但是lz题中给定了限定条件,即x,y从属于一个闭区间.
fminbnd是计算一元函数在给定边界约束的局部最小值.
因此以上都不适用.暂时还不知道,其他函数合适不.
个人倒觉得可以这么做:
x=linspace(-2,0,40);y=linspace(0,3,40);
[x,y]=meshgrid(x,y)
z=2*x.^2+3*y.^2-4*x.*y-y-3*y;
[C I]=min(z)