import sympy
'''
1.定义相应的输入和差值节点,
2.接下来需要计算法方程和
求出给出点的二次最小二乘拟合函数(a_0,a_1,a_2)
'''
x_i = [0.00, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00]
y_i = [1.00, 1.75, 1.96, 2.19, 2.44, 2.71, 3.00]
w_i = [1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00]
def MathFunc(x, y, w):
"""
input:多个点集,和权重集合
实现一个函数,可以传入任意对的点值,并实现一个能够求得特值函数的方法
output:函数y关于x的变量表达式
:return: list
"""
gram_list_all = []
d_list = []
for i in range(2*2+1):#attention range中的值
gram_list_each = 0
#for j in range(len(x))::#逻辑错误,不应写这个循环
for x_i, w_i in zip(x, w):
gram_list_each += w_i*(x_i**i)
gram_list_all.append(gram_list_each)
#求d列表的相应的list
#定义一些的数据
for i in range(3):
t = 0
#for i in range(len(x)):#逻辑错误,不应写这个循环
for x_i, f_i, w_i in zip(x, y, w):
t += w_i*(x_i*
python实现最小二乘拟合,求解函数方程
最新推荐文章于 2023-09-01 15:50:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)