Error with ’quad‘!!!Doubleintegral?

2 次查看(过去 30 天)
wang
wang 2013-1-31
L = 3.128438e+003
B= 16685
X = 2.085625e+003
Y = 0
Z = 0
Quad_1 = @(Zeta,Xi) exp(-sqrt(Xi.^2 + Zeta.^2 + Z^2))./(-sqrt(Xi.^2 + Zeta.^2 + Z^2));
T_1 = quad(@(Zeta) Quad_1,Y-B,Y+B);
T_2 = @(Xi) exp(-Xi)*T_1;
T = quad(@(Xi) T_2(Xi), X-L, X+L);
disp(T);
Error using ==> quad at 80
The integrand function must return an output vector of the same length as the input vector
Error in ==> stationaer at 75
T_1 = quad(@(Zeta) Quad_1,Y-B,Y+B);
Can anyone help me to correct the errors? Thanks.
Jack

回答(2 个)

bym
bym 2013-2-1
how about this
L = 3.128438e+003;
B= 16685;
X = 2.085625e+003;
Y = 0;
Z = 0;
Quad_1 = @(Zeta,Xi) exp(-sqrt(Xi.^2 + Zeta.^2 + Z^2))./(-sqrt(Xi.^2 + Zeta.^2 + Z^2));
%T_1 = quad(@(Zeta) Quad_1,Y-B,Y+B);
%T_2 = @(Xi) exp(-Xi)*T_1;
%T = quad(@(Xi) T_2(Xi), X-L, X+L);
T = dblquad(Quad_1,Y-B,Y+B,X-L,X+L);
disp(T);
  1 个评论
wang
wang 2013-2-1
thanks for your answer. but the equa, that i want to have is like:
integral[_ exp(-Xi)*_integral{ exp(-sqrt(Xi^2 + Zeta^2 + Z^2))/(-sqrt(Xi^2 + Zeta^2 + Z^2))} ]
there is an exp(-Xi) before the second integral.

请先登录,再进行评论。


wang
wang 2013-2-1
thanks for your answer. but the equa, that i want to have is like:
integral[_ exp(-Xi)*_integral{ exp(-sqrt(Xi^2 + Zeta^2 + Z^2))/(-sqrt(Xi^2 + Zeta^2 + Z^2))} ]
there is an exp(-Xi) before the second integral.

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by