Matlab求积分方程?

发布网友

我来回答

1个回答

热心网友

题主给出的积分方程,可以用数值的方法来求出其数值解,然后绘出其图形。

现用辛普森法(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,其两条曲线愈来愈接近,其数值愈趋向于一致。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com