python 内推_用Python实现内推外插法

用Python实现内推外插法

用 Python 实现内推外插法 Author Z Date 2015 12 3 import numpy as np class node object def init self self power self a def set self ar p for i in xrange len ar self a append ar i self power append p i def printf self print a is for i in xrange np array self a shape 0 print self a i print print power is for i in xrange np array self power shape 0 print self power i print base function area def parse self string parse str string into list a and power a means the factor of x power means the index of x self power self a string string replace eq string find new string string eq 1 index new string find x while index 1 if new string index 1 and new string index 2 isdigit i index 2 num while i 0 and new string i isdigit num new string i num i i 1 if i 0 and new string i num num self a append float num else self a append 1 if new string index 1 num 0 i index 2 while i 0 and new string ll isdigit num new string ll num ll ll 1 if ll 0 and new string ll num num self a append float num self power append 0 def get fun value self num ret 0 for i in xrange np array self a shape 0 ret self a i pow num self power i return ret tool function area def Min push forward self start step if self get fun value start y3 x1 x2 x2 x3 else break return x1 x3 def Min insert forword self lef rig max epochs min error epoch 0 while True mid1 3 lef rig 2 mid2 lef rig 2 y1 self get fun value mid1 y2 self get fun value lef y3 self get fun value mid2 y4 self get fun value rig if y1 y2 and y1 y3 and y1 y4 lef mid1 rig lef elif y2 y1 and y2 y3 and y2 y4 lef mid1 rig mid2 elif y3 y4 and y3 y1 and y3 max epochs or rig lef self get fun value start step step len 1 step x1 start x2 start step y2 self get fun value x2 while True x3 x2 step y3 self get fun value x3 if y2 y2 and y1 y3 and y1 y4 lef mid1 rig lef elif y2 y1 and y2 y3 and y2 y4 lef mid1 rig mid2 elif y3 y4 and y3 y1 and y3 y2 lef lef rig rig else lef mid2 rig rig epoch 1 if epoch max epochs or rig lef min error break x lef rig 2 y self get fun value x return x y def min fun self start step max epochs min error lef rig self Min push forward start step x y self Min insert forword lef rig max epochs min error print x x print y y def max fun self start step max epochs min error lef rig self Max push forward start step x y self Max insert forword lef rig max epochs min error print x x print y y if name main ss f x x 3 2 x 1 a node a parse ss a printf max epochs 1000 min error 0 001 start 0 0 step 0 2 a min fun start step max epochs min error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值