题主给出的积分方程,可以用数值的方法来求出其数值解,然后绘出其图形。
现用辛普森法(Simpson numerical integration)和矩形法(Trapezoidal numerical integration)求出其数值解,然后进行比较。实现过程如下:
1、首先建立自定义函数
a=10.^(0.1*x)
fun=@(t,a)qfunc(sqrt(t))./a.*exp(-t./a)
2、利用for循环语句和quad积分函数,求出yi(xi)值。
for i=1:length(xdB)
。。。
y1(i)=quad(@(t)fun(t,a),0,100000)%辛普森法,用100000代替inf
。。。
t=linspace(0,100000,100000)
。。。
y2(i)=trapz(t,y) %矩形法
end
3、利用semilogy函数绘制图形
semilogy(x,y1,'r*-',x,y2,'k-')
4、求匹配度
5、按上述方法,编程程序,运行可得到如下结果
6、从图形可以看到,其匹配度为0.85043,XdB从0到30,其两条曲线愈来愈接近,其数值愈趋向于一致。
怎么用MATLAB编程求解双重积分方程的根?这个问题可以来考虑:1、需知道这些已知值,如A、B、C、D、E、F、L、a、ap、flm、τf、δ
2、自定义被积函数,func=@(x)expr %含二重积分
3、用fsolve函数求解方程的数值根,
x= fsolve(func,x0)
>>syms t a positive>>x=a/sqrt(2)*cos(t)+a/2
>>y=a/sqrt(2)*sin(t)+a/2
>>ans=simple(int(sqrt(x^2+y^2)*sqrt(diff(x,t)^2+diff(y,t)^2),t,0,2*pi))
ans =
4*a^2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)