MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB数学相关] 请教哪位大侠能看下下面小段代码的问题 (https://www.labfans.com/bbs/showthread.php?t=11984)

netant0721 2010-08-20 23:11

请教哪位大侠能看下下面小段代码的问题
 
小弟刚开始学习Matlab,请教哪位大侠能看下下面小段代码的问题:

clc;clear;

M = 5;
N = 5;
Mun_points = 6*M*N+2*N;

Ht_z = zeros(Mun_points,1);
Ht_theta = zeros(Mun_points,1);

Htx_val = 1000;
Hty_val = 1000;

L=.3;
a=.15;
c=.08;
d=0;

omiga = 2*pi*64e6;
miu0 = 4*pi*1.0e-7;
epos0 = 1.0e-9/(36*pi);

alf = omiga*sqrt(miu0*epos0);

for j = 1:2*N
for k = 1:3*M+1
Ht_z(j+(k-1)*2*N) = 2*c*j/(2*N)+d;
Ht_theta(j+(k-1)*2*N) = 2*pi*k/(3*M+1);
end
end

m=1;
n=1;
syms z0 belta;

for k = 1:Mun_points
temp_offset = a*cos(belta)-sqrt(c^2-(Ht_z(k)-d)^2);
Rc = sqrt(a^2+c^2-(Ht_z(k)-d)^2-2*a*sqrt(c^2-(Ht_z(k)-d)^2)*cos(belta)+(z0-Ht_z(k))^2);
temp_coef = a/(2*pi);
temp_exp = exp(-i*alf*Rc)*(i*alf/(Rc^2)+1/(Rc^3)) ;


digits(3);
%fSx1mn = vpa(a/(2*pi)*(a*cos(belta)-sqrt(c^2-(Ht_z(k)-d)^2))*cos(m*belta)*sin(n*pi*(z0+L/(2*L))))
f=@(z0,belta)temp_coef*temp_offset*cos(m*belta)*sin(n*pi*(z0+L/(2*L)))*temp_exp
Sx1mn(k) = dblquad(f,-L,L,0,2*pi);
end

%*************************************************%
运行后:
??? Error using ==> dblquad>innerintegral at 81
Inputs must be floats, namely single or double.

Error in ==> quad at 77
y = f(x, varargin{:});

Error in ==> dblquad at 60
Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...

Error in ==> Untitled2 at 45
Sx1mn(k) = dblquad(f,-L,L,0,2*pi);


所有时间均为北京时间。现在的时间是 11:20

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.