2013-02-24 291 views
0

我想完成一项任务,但我真的不知道该怎么做问题。我不是在寻找完整的答案,而只是了解我需要用什么来解决问题。这里有个问题:Matlab贝塞尔函数和插值

我们被要求为第一个 种零阶J0(x)的Bessel函数提供插值。 (a)为插值点创建一个数据点列表,小数点后7位数 x1 = 1.0,x2 = 1.3,x3 = 1.6,x4 = 1.9,x5 = 2.2。 (提示:参见Matlab在BesselJ上的帮助)

(b)通过点x1,x2,x3拟合二次多项式。使用此插值 来估计J0(1.5)。计算错误。

BesselJ做了什么?我如何通过三点拟合二次多项式?

谢谢,

Mikeshiny

回答

2

这里的第一类的第零阶Bessel函数:

http://mathworld.wolfram.com/BesselFunctionoftheFirstKind.html

贝塞尔函数是对差分在圆柱坐标方程式正弦和余弦是直角坐标中的ODE。

两者都有系列表示;两者都有多项式近似值。

这里有一个普通二阶多项式:

y = a0 + a1*x + a2*x^2 

替换为三点(x1, y1)(x2, y2)(x3, y3),你就会有三个未知系数a0a1a2三个方程。解决这些系数。

看看我给你的链接y = J0(x)的情节。你想在一定范围内适合二阶聚合。所以 - 挑一个。第一点是(0,1)。再选择两个 - 也许x = 1和x = 2。从J0表中查找y的这些x值并评估您的系数。

这里是我的三点:(0,1),(1,0.7652),(2.4048,0)。

当我计算系数,这里的2阶多项式,我得到:

J0(x) = 1 -0.105931124*x -0.128868876*x*x 
+0

但是我使用Y1,Y2,Y3和? – MikeShiny 2013-02-24 23:09:13

+0

当然,您尝试在x1,x2和x3处插值的函数的值。 – duffymo 2013-02-24 23:10:27

+0

是我从besselj得到的前三个值? – MikeShiny 2013-02-24 23:51:30