kysm.net
当前位置:首页 >> mAtlAB DBlquAD >>

mAtlAB DBlquAD

没看明白你前面写的那一串是什么? 那个积分两条语句就可以算出来的: >> f=@(x,y)sin(x)./y;>> dblquad(f,pi/4,1,2,4)ans = 0.1156

对于quad、dblquad等求数值积分的函数,要求被积函数能够接受向量输入,所以表达式中积分变量的幂函数应使用点运算: >> Q = dblquad(@(x,y) (x.^2+y.^2+x*y+2*x+y+1), 0, 2, 0, 1)Q = 11.3333

dblquad是用来计算二重积分的。 q=dblquad(inline('y*sin(x)'),pi,2*pi,0,pi)意思就是计算函数 y*sin(x)在区间 x=pi,2*piy=0,pi上的二重积分。

从2012a开始,引入了几个计算数值积分的新函数integral、integral2、integral3,可以计算积分限为无穷大的积分。在2013a的文档中,建议使用这几个函数代替quad、quadl、quadv、dblquad、triplequad,后面几个函数在将来的版本中可能会被删除。 ...

你的错误出在这句,f=@(x,z)8/5*(h0+(x.^2+z.^2)/2*r)-6*x.^2/5*((h0+(x.^2+z.^2)/2*r))^2上,没有完全用好点运算符。 更改后的自定义函数f(x,z)为 f = @(x,z)8/5*(h0+(x.^2+z.^2)/2*r)-6*x.^2/5.*((h0+(x.^2+z.^2)/2*r)).^2 运行上述程序,得

对于离散的数值积分,只能用梯形积分法来求解。而dblquad则需要具体函数表达式。 求解命令函数,trapz() 求解格式,z=trapz(x,y) %注:y与x是同维数的向量。 例: x=-1:0.5:1; y=[0.367879 0.778801 1 0.778801 0.367879]; z=trapz(x,y)

程序中r=sqrt(R1^2-y^2);当y的绝对值大于R1时,r是复数,导致后面的含r的式子都是复数,积分结果也是复数。可这样改:r=sqrt(abs(R1^2-y^2));

将命令改成这样,就可以了。 integrnd=@(x,y)0.2139*besselj(0,0.481.*x).*cos(0.1465.*y)*1.602*10^-9*y*0.2376.*besselj(1,0.7710.*x).*sin(0.2931.*y); result=dblquad(integrnd,-5,5,-10,10) result = 1.0608e-025 +4.9360e-025i

这个可以用matlab的符号积分或者数值积分解决,下面提供4种方法: 1、直角坐标系符号积分 syms x yint_y = int(sin(pi*(x^2+y^2)),y,-sqrt(1-x^2),sqrt(1-x^2)); % 先对y积分I = vpa(int(int_y,x,-1,1)) I = 2.0 2、极坐标系符号积分 syms rI = ...

你百度dblquad函数的用法了么。。。似乎是你这个函数用法不对埃

网站首页 | 网站地图
All rights reserved Powered by www.kysm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com