主题:新手请教一个Matlab的function编写
neilhua
[专家分:0] 发布于 2007-10-29 08:26:00
小弟是初学Matlab,望请各位XDJM多多指教,小弟不胜感激!
这是要求用Matlab描绘一个函数图像
函数为 f = -xyexp(-2(x^2+y^2)) ,在[-2,+2]X[-2,+2]区域内。
并要求找出最大值和最小值及他们的局限、定位(localization)。
多谢!
回复列表 (共6个回复)
沙发
kefan [专家分:310] 发布于 2007-10-29 23:33:00
X=-2:0.01:2;
Y=-2:0.01:2;
Y=Y'
x=X*ones(Y);
y=ones(Y)*X;
f=x.*y.*exp(-2*(x.^2+y.^2));
surf(x,y,f)
板凳
neilhua [专家分:0] 发布于 2007-10-30 03:38:00
多谢楼上的回复!
但有些问题,我在机器上试了一下,它回答:
??? Error using ==> ones
Size vector must be a row vector with integer elements.
Error in ==> Matlab_Revision_EXE61 at 4
x=ones(Y)*X;
而且,我也不明白
Y=Y'
x=X*ones(Y);
y=ones(Y)*X;
这三句的意图,你能详细地解释一下吗?
多谢了!
3 楼
chianelxie [专家分:670] 发布于 2007-10-30 19:28:00
x=-2:0.01:2;
y=-2:0.01:2;
f=x.*y.*exp(-2*(x.^2+y.^2));
surf(x,y,f)
就可以了
4 楼
neilhua [专家分:0] 发布于 2007-10-31 06:06:00
多谢指点!
5 楼
gzqfast [专家分:0] 发布于 2007-10-31 09:54:00
44851559 本群立志为广大matlab爱好者提供一个良好学习空间!!
6 楼
gslyd [专家分:1300] 发布于 2007-10-31 15:39:00
[x y]=meshgrid(-2:.05:2);
f=x.*y.*exp(-2*(x.^2+y.^2));
surf(x,y,f)
我来回复