当前位置: 首页 > news >正文

拟合(最小二乘拟合)

拟合(最小二乘拟合)

一、整体思路

二、代码(含详细注释)

#程序文件ex7_10.py
import numpy as np
t=np.arange(8)
y=np.array([27.0, 26.8, 26.5, 26.3, 26.1, 25.7, 25.3, 24.8])
# 方法一
tb=t.mean(); yb=y.mean()
# 用1到8之间的数1减去它们的平均值乘以y-去均值的,求出它们的和然后除以(t-tb)的平方
a1=sum((t-tb)*(y-yb))/sum((t-tb)**2)
# 用y(函数值)的均值-a1*t的均值
b1=yb-a1*tb
# 直接以下面这种方式输出多项式拟合系数即可
print('拟合的多项式系数:',[a1,b1])  #输出第一种方法的解# 方法二
# np.ones() 是NumPy中的一个函数,用于生成一个给定形状和类型的新数组,其所有元素均初始化为1。
# len(t) 计算的是 t 的长度,即 t 中元素的数量。
# np.ones(len(t)) 生成了一个长度为 len(t) 的数组,其中每个元素都是1。
# t, np.ones(len(t))]:
# 这是一个Python列表,包含两个元素:t 和 np.ones(len(t)) 生成的数组。
# np.vstack() 是NumPy中的一个函数,用于垂直(按行)堆叠数组。
# 它接受一个数组序列(如列表)作为输入,并将这些数组垂直堆叠成一个新的二维数组。
# .T是装置
A=np.vstack([t, np.ones(len(t))]).T
p=np.linalg.pinv(A) @ y
print('拟合的多项式系数:', p)   #输出第二种方法的解

相关文章:

  • React Flow 节点类型详解与实战:内置节点使用与自定义组件开发
  • 58. 区间和
  • 【GaussDB迁移攻略】DRS支持CDC,解决大规模数据迁移挑战
  • 【软件工程】符号执行与约束求解缺陷检测方法
  • 前端精度问题全解析:用“挖掘机”快速“填平精度坑”的完美解决方案
  • 深入探索:Core Web Vitals 进阶优化与新兴指标
  • AWS云入门宝典
  • 哈希表实现(1):
  • Spring Cloud:Gateway(统一服务入口)
  • R语言学习--Day03--数据清洗技巧
  • 【学习笔记】计算机操作系统(四)—— 存储器管理
  • 懒汉式单例模式的线程安全实现
  • 医疗机械中丝杆支撑座有什么特殊要求?
  • 案例分析组合投资策略的回测与绩效分析
  • LLM学习笔记(六)线性代数
  • buuctf Crypto-鸡藕椒盐味1
  • Rust 数据结构:String
  • 后端框架(3):Spring(1)
  • IntelliJ IDEA打开项目后,目录和文件都不显示,只显示pom.xml,怎样可以再显示出来?
  • 西门子 S1500 PLC 通过 Profinet 对 6 台施耐德 ATV304 变频器的控制,用于 6 台升降台的位置控制。
  • 雅典卫城上空现“巨鞋”形状无人机群,希腊下令彻查
  • 美国务卿鲁比奥抵达会场,将参加俄乌会谈
  • 泉州围头湾一港区项目炸礁被指影响中华白海豚,官方:已叫停重新评估
  • 中国社联成立95周年,《中国社联期刊汇编》等研究丛书出版
  • 农行回应“病重老人被要求亲自取钱在银行去世”:全力配合公安机关调查
  • 刘晓庆被实名举报涉嫌偷税漏税,税务部门启动调查