Julia三次样条插值函数

# 本文将演示如何使用Julia语言实现三次样条插值
# 如果没有安装Dierckx包。
# 首先要Pkg.add("Dierckx"),然后Pkg.update()
# 当然也可以用Interpolations.jl,但对其语法不太熟悉
# 用下面代码做示例。(https://github.com/kbarbary/Dierckx.jl)
using Dierckx
x = linspace(0,pi)
v = sin.(x)
xq = linspace(pi/2,pi)

# 计算三次样条插值
spl = Spline1D(x, v; k = 1)  # k: order of interpolant; can be between 1-5
vq = spl(xq)  # 等价于vq = Spline1D(x, v;  k = 1)(xq)

# result as following:
################################################################

# 接下来使用Interpolations来作三次样条。(https://github.com/JuliaMath/Interpolations.jl)
# 如果没有安装,先安装此包。Pkg.add("Interpolations")
# 以下为示例

using Interpolations
f(x) = log(x)
xs = 1:0.2:10
A = [f(x) for x in xs]
# linear interpolation
interp_linear = LinearInterpolation(xs, A)
xt = 3:0.01:8
B = interp_linear( xt )

# cubic spline interpolation
interp_cubic = CubicSplineInterpolation(xs, A)
C = interp_cubic( xt )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值