python差商函数 python求商函数

想用python来求解牛顿插值问题,编了一段程序,其中有些错误看不出来,恳请大佬指出错误,代码如下

import matplotlib.pyplot as plt

成都创新互联是一家专业提供浦东企业网站建设,专注与做网站、成都网站设计、H5开发、小程序制作等业务。10年已为浦东众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

from pylab import mpl

import math

"""

牛顿插值法

插值的函数表为

xi      -28.9, -12.2, 4.4, 21.1,  37.8

f(xi)   2.2,    3.9,     6.6, 10.3, 15.4

"""

x=[-28.9,-12.2,4.4,21.1,37.8]

y=[2.2,3.9,6.6,10.3,15.4]

"""计算4次差商的值"""

def Four_time_difference_quotient(x, y):

i = 0            # i记录计算差商的次数

quotient = [0, 0, 0, 0, 0,]

while i  4:

j = 4

while j  i:

if i == 0:

quotient[j]=((y[j]-y[j-1])/(x[j]-x[j-1]))

else:

quotient[j] = (quotient[j]-quotient[j-1])/(x[j]-x[j-1-i])

j -= 1

i += 1

return quotient;

def function(data):

return x[0]+parameters[1]*(data-0.4)+parameters[2]*(data-0.4)*(data-0.55)+\

parameters[3]*(data-0.4)*(data-0.55)*(data-0.65)\

+parameters[4]*(data-0.4)*(data-0.55)*(data-0.80)

"""计算插值多项式的值和相应的误差"""

def calculate_data(x,parameters):

returnData=[];

for data in x:

returnData.append(function(data))

return returnData

"""画函数的图像

newData为曲线拟合后的曲线

"""

def draw(newData):

plt.scatter(x,y,label="离散数据",color="red")

plt.plot(x,newData,label="牛顿插值拟合曲线",color="black")

plt.scatter(0.596,function(0.596),label="预测函数点",color="blue")

plt.title("牛顿插值法")

mpl.rcParams['font.sans-serif'] = ['SimHei']

mpl.rcParams['axes.unicode_minus'] = False

plt.legend(loc="upper left")

plt.show()

parameters=Four_time_difference_quotient(x, y)

yuanzu=calculate_data(x,parameters)

draw(yuanzu)

差商是什么意思

差商的意思是:差商即均差,一阶差商是一阶导数的近似值。

差商即均差,一阶差商是一阶导数的近似值。对等步长(h)的离散函数f(x),其n阶差商就是它的n阶差分与其步长的n次幂的比值。

在给定自变数的两个值之间,函数值的差与变数差的商值称为差商。函数差商的羞商称为二阶差商函数的高阶差商,定义类同;差商决定于基点x0, x1…的集合,但与顺序无关,今以S=x0, x1,… xn表已知基点的集合,a与b表两增加之基点。

一阶导数重节点的差商怎么算

差商(difference quotient)

就是因变量的改变量与自变量的改变量两者相除的商

比如对于函数f(x)

差商就是[f(x+dx)-f(x)]/dx

而如果dx趋于0,这就是在表示导数了

matlab中差商函数

你的程序默认输入的是列向量,你输入的x,y是行向量,所以出错

另外程序第四行“P(:,2)=y;”应为“p(:,2)=y;”

x=[0; 1; 2; 4; 6];

y=[1; 9; 23; 3; 259];

chashang(x,y)

ans =

0 1.0000 8.0000 3.0000 -2.7500 1.8750

1.0000 9.0000 14.0000 -8.0000 8.5000 0

2.0000 23.0000 -10.0000 34.5000 0 0

4.0000 3.0000 128.0000 0 0 0

6.0000 259.0000 0 0 0 0

如何用python求差商

有下面的关系:

f[x0,x1,...xn]=f(a)/n! a属于[a,b] //f(a)表示的是f(x)求n阶导之后代a的值

所以先f(x)求7阶导代a的值之后为7!在除以7!就是1,在8阶就是0,除以8!就是0了

f[2^0,2^1,...,2^7]=1,f[2^0,2^1,...,2^8]=0


当前标题:python差商函数 python求商函数
路径分享:http://hbruida.cn/article/doopjgh.html