Airy函数积分的根(matlab)

时间:2017-03-26 14:01:29

标签: matlab

我想解决以下等式

$$int_{x}^\infty Ai(\eta) d\eta=0$$

我对功能的定义做错了,但我仍然没有得到它

function F=myairyint(x)

F=integral(@(x)airy,x,1000)

end

functi2=@(x) myairyint;
x0=-1:-1:-15;
fsolve(functi2,x0)

为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

你的积分在[-15 -1]似乎没有根,并收敛到零。我通过绘图测试了它:

x0 = linspace(-20,20);
airyint = arrayfun(@(x0) integral(@(n) airy(n), x0, inf), x0);
plot(x0, airyint);

enter image description here

我还通过fzero()测试了它,例如:

f = @(x) integral(@(n) airy(n), x, inf);
fzero(f, 0)

输出符合预期:

ans =

    115.8524

但似乎 x>的所有实数都是如此。 115.8524 看起来像这个积分方程的根源。

其他

fzero()是一个试图找到两个动态区间之间的函数值的根的函数。如果它捕获负值和正值,则缩小捕获根的间隔。但是有一个错误率,因为你也可以从这个例子中观察到。只有当x变为无穷大时,这个方程才为零,这意味着这个方程没有真正的根。