关于Matlab算二重积分的一个问题。

syms x y;
syms nx ny;
nx=0;
ny=0;
maple('with(orthopoly)');
Hx=maple('H(0,x)')
maple('with(orthopoly)');
Hy=maple('H(0,y)');
a=1.6627;
Nx=((a/sqrt(pi))*2^nx*factorial(nx))^0.5;
Ny=((a/sqrt(pi))*2^ny*factorial(ny))^0.5;
fx=Nx*exp(-0.5*a^2*x^2)*Hx;
fy=Ny*exp(-0.5*a^2*y^2)*Hy;
Fxy=fx*fy;
Goal1=diff(diff(Fxy,x),y);
x=1;
y=1;
Goal=Goal1*Fxy;
Final=@(x,y)Goal;
result= dblquad(Final,-inf,inf,-inf,inf)
但是:
??? Error using ===> innerintegralInputs to innerintegral must be floats, namely single or double.
Error in ==> dblquad>innerintegral at 79Q = zeros(size(y), superiorfloat(fcl, xmax, y));
Error in ==> quad at 63y = f(x, varargin{:});
Error in ==> dblquad at 58Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...
Error in ==> Untitled2 at 20result= dblquad(Final,-inf,inf,-inf,inf)
请问哪里错了?

第1个回答  2012-12-24
变量值错了,可以直接采用模板
相似回答
大家正在搜