![]() |
哎,小白问个新手问题(关于积分的)
话说某小白4年前学的MATLAB,那时没有认真,现在弄的非常痛苦,弱弱的问个问题..
程序这样的: 输入变量有这些: x, y ,z,x2,y2,w, rou,a,b. 而其中有变k=w/c,r=根号下X平方+Y平方。 主要需要计算这个积分 exp(i*k*(y2*y2-2*y*y2)/(2*r) 对y2积分,积分上下限分别为-b/2,b/2. 我用int积分,它显示的是varargout{1:nargout}] = builtin('find', varargin{:}); 与Function 'find' is not defined for values of class 'sym' 难道用quad的积分公式吗,我用quad又得不出精确解,结果为含有符号k ,y2符号表达式,同时还是个矩阵。 到底咋整啊,小弟实在费解 希望有高手抬抬贵手,稍微指点一下就感激不尽了:confused: |
回复: 哎,小白问个新手问题(关于积分的)
又见面了
:) syms x y x2 y2 w c b k=w/c; r=sqrt(x*x+y*y); f=exp(i*k*(y2*y2-2*y*y2)/(2*r)) yy2=int(f,y2,-b/2,b/2) f = exp(1/2*i*w/c*(y2^2-2*y*y2)/(x^2+y^2)^(1/2)) yy2 = -1/2*pi^(1/2)*exp(-1/2*i*w/c*y^2/(x^2+y^2)^(1/2))*2^(1/2)*(erf(1/4*i*2^(1/2)*w*(b+2*y)/c/(x^2+y^2)^(1/2)/(-i*w/c/(x^2+y^2)^(1/2))^(1/2))-erf(1/4*i*2^(1/2)*w*(-b+2*y)/c/(x^2+y^2)^(1/2)/(-i*w/c/(x^2+y^2)^(1/2))^(1/2)))/(-i*w/c/(x^2+y^2)^(1/2))^(1/2) 望有帮助!!! |
所有时间均为北京时间。现在的时间是 04:53。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.