|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我是MATLAB新手,在做关于二重积分的时候出现问题,各位大虾请指点下,不甚感激
程序是这样的:
global u thegema thegemaS omegaC y e theta r
An=1.6e-3; % [m^2]
w=2e-2; % [m]
e=2.5e-1; % [m]
l=An/w; % [m]
yita=4e-21; % [m^2]
H=7e9; % [Pa]
beita=0.044;
v=0.3;
v1=0.3;
v2=0.3;
K=0.454+0.41*v;
E1=1.1e11;
E2=1.1e11;
E= ((1-v1^2)/E1 + (1-v2^2)/E2)^-1;
fai=0.52;
R=1.1e-4; %[m]
thegema=1e-7; %[m]
omega=((pi*K*H)/(2*E))^2 *R; %[m]
omegaC=omega/thegema; %dimensionless form
thegemaS=fai^2*thegema*omegaC; %[m]
y=0.5; %[m]
theta=0.05;
% normal force
p1=dblquad('f_pel', u,u+omegaC,-l/2/thegema,l/2/thegema,1e-12);
调用的'f_pel'函数:
function integral1=f_pel(z,r)
global u thegema thegemaS omegaC y e theta r
f=thegema*exp(-0.5*(z/thegemaS)^2)/((2*pi)^0.5*thegemaS);
u=(y-e/cos(theta)+r*sin(theta))/thegema;
integral1= ((z-u)/omegaC)^(1.5)*f;
运行后会提示:
Error in ==> dblquad>innerintegral at 82
Q(i) = quadf(intfcn, xmin, xmax, tol, trace, y(i), varargin{:});
Error in ==> quad at 63
y = f(x, varargin{:});
Error in ==> dblquad at 58
Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...
Error in ==> Untitled1 at 27
p1=dblquad('f_pel', u,u+omegaC,-l/2/thegema,l/2/thegema,1e-12);
这是为什么呢?再次谢谢各位大虾了!!! |
|