首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入参数不足,fminsearch

输入参数不足,fminsearch
EN

Stack Overflow用户
提问于 2015-02-20 02:41:30
回答 1查看 1.6K关注 0票数 1

我试图用MATLAB编写一个脚本,用网格函数绘制一个三维函数,然后找出曲面的最大值。到目前为止,这是我的代码:

代码语言:javascript
复制
%% Aquifer, 3D maximum search
figure(2)
[X,Y] = meshgrid(-10:.5:10,-10:.5:10);
h = @(x,y)-(1./(1+(x-.25).^2+(y-.5).^2+x+x.*y));
mesh(h(X,Y)) %graph aquifer surface

aquamax = fminsearch(h,[-5;-5])

当我运行代码时,我会得到以下错误:

代码语言:javascript
复制
Error using @(x,y)-(1./(1+(x-.25).^2+(y-.5).^2+x+x.*y))
Not enough input arguments.

Error in fminsearch (line 190)
fv(:,1) = funfcn(x,varargin{:});

我已经阅读了fminsearch函数,但我对它不太熟悉(在Matlab中仍然是个菜鸟)。我是否需要重新编写代码,还是仅仅是将内容输入到fminsearch中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-20 04:33:30

您的h函数需要2个标量输入,但fminsearch只执行一个输入,可能是一个向量。将h更改为h = @(x)-(1./(1+(x(1)-.25).^2+(x(2)-.5).^2+x(1)+x(1).*x(2)));,看看这是否有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28620820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档