今天遇到一个问题。老师让用C++实现三次样条插值函数,输出多项式系数,其中有一个公式长这样 S ( x ) = m i ( x − x i ) ( x − x i + 1 ) 2 h i 2 + m i + 1 ( x − x i ) 2 ( x − x i + 1 ) h i 2 + y i ( x − x i + 1 ) 2 ( h i + 2 x − 2 x i ) h i 3 + y i + 1 ( x − x i ) 2 ( h i − 2 x + 2 x i + 1 ) h i 3 S(x)=\frac{m_{i} \left(x - x_{i}\right) \left(x - x_{i+1}\right)^{2}}{h_{i}^{2}} + \frac{m_{i+1} \left(x - x_{i}\right)^{2} \left(x - x_{i+1}\right)}{h_{i}^{2}} + \frac{y_{i} \left(x - x_{i+1}\right)^{2} \left(h_{i} + 2 x - 2 x_{i}\right)}{h_{i}^{3}} + \frac{y_{i+1} \left(x - x_{i}\right)^{2} \left(h_{i} - 2 x + 2 x_{i+1}\right)}{h_{i}^{3}} S(x)=hi2mi(x−xi)(x−xi+1)2+hi2mi+1(x−xi)2(x−xi+1)+hi3yi(x−xi+1)2(hi+2x−2xi)+hi3yi+1(x−xi)2(hi−2x+2xi+1)对应的 LaTeX \LaTeX LATEX代码为
S(x)=\frac{m_{i} \left(x - x_{i}\right) \left(x - x_{i+1}\right)^{2}}{h_{i}^{2}} + \frac{m_{i+1} \left(x - x_{i}\right)^{2} \left(x - x_{i+1}\right)}{h_{i}^{2}} + \frac{y_{i} \left(x - x_{i+1}\right)^{2} \left(h_{i} + 2 x - 2 x_{i}\right)}{h_{i}^{3}} + \frac{y_{i+1} \left(x - x_{i}\right)^{2} \
使用sympy进行三次样条插值的多项式系数提取

博客介绍了如何利用Python的sympy库,通过collect函数将三次样条插值函数化简为多项式形式,从而方便地获取系数。示例展示了从复杂表达式中提取多项式系数的过程,并提供了详细步骤和代码实现。
最低0.47元/天 解锁文章
2299

被折叠的 条评论
为什么被折叠?



