作者Lycoris1290 (Lycoris)
看板MATLAB
标题[问题] quad积分指令问题
时间Tue Dec 11 09:47:58 2012
本人第一次使用Matlab写解析解,然後碰到了一点问题。
这串解析解中有两个变数,tDh和s,除了这两个变数外其他参数都会给固定值。
因为这个程式码後面会进行拉氏反转换,所以有s这个变数。
而这段程式码主要是针对tDh积分。
程式码如下:
%%Horizontal Well Parameters
syms xD yD ywD zD zwD hD;
xD=0.68;
yD=0.001;
ywD=10;
zD=0.5;
zwD=0.5;
hD=0.2;
%%Naturally Fractured Reservoirs parameters
syms omega lambda fs s;
omega=0.001;
lambda=5.0E-3;
fs=(omega.*(1-omega).*s+lambda)./((1-omega).*s+lambda);
%%积分上下限
syms tDS tDL;
tDS=hD.^2.*(zD+zwD-2).^2./20;
tDL=100.*(1-xD).^2./omega;
%%Integration A
syms tDh int_A1 int_A2 funA integA;
int_A1=@(tDh,s) exp(-s.*fs.*tDh);
int_A2=@(tDh,s) exp(-((zD-zwD).^2.*hD.^2+yD.^2)./(4.*tDh));
funA=@(tDh,s) int_A1.*int_A2;
integA=quad(@(tDh) funA,0,tDS);
上段程式码执行之後,跑出下列讯息:
Error using quad (line 75)
The integrand function must return an output vector of the same length as the
input vector.
Error in dualporohw (line 42)
integA=quad(@(tDh) funA,0,tDS);
问题应该是出在积分的部分,但本人是初学者,因此不确定这是什麽原因造成的。
烦请各位版友帮忙解决,感激不尽。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.34.151