网站首页 > 技术文章 正文
在前文中,笔者使用最小二乘法矩阵计算进行数据的线性拟合
其实有更简单的方法:
- 用Python的numpy中的polyfit函数直接进行线性拟合
- 或者用numpy中的polyfit和poly1d进行多项式拟合
用Python的numpy中的polyfit函数直接进行线性拟合
程序代码:
import matplotlib.pyplot as plt
import numpy as np
#绘制原始数据的散点图
x = np.array([3.6, 3.7 ,3.8 ,3.9 ,4.0, 4.1, 4.2])
y = np.array([1.0, 0.9, 0.9, 0.81, 0.60, 0.56, 0.35])
plt.scatter(x,y)
#直接拟合
# y = slope * x + intercept
slope,intercept = np.polyfit(x,y,1)
#
print("线性方程的系数:")
print(slope)
print(intercept)
# 创建数据点
#x = np.linspace(-1, 10, 1100) # 从-1到10之间生成1100个点
x = np.linspace(3.5, 4.5, 100)
#y = f(x) # 对每个点计算y值
# 绘制拟合出来的一元一次线性方程的图像
plt.plot(x, slope * x + intercept, color = "blue")
plt.xlabel('x')
plt.ylabel('y')
plt.title('Display func: f(x) = ax+b ')
plt.grid() # 显示网格
plt.show() # 显示图像
运行结果:

用numpy中的polyfit和poly1d进行多项式拟合
程序代码:
import matplotlib.pyplot as plt
import numpy as np
#绘制原始数据的散点图
x = np.array([3.6, 3.7 ,3.8 ,3.9 ,4.0, 4.1, 4.2])
y = np.array([1.0, 0.9, 0.9, 0.81, 0.60, 0.56, 0.35])
plt.scatter(x,y)
#直接拟合
# 3次方程 的 多项式回归系数
coefs = np.polyfit(x,y,3)
# 多项式函数
poly = np.poly1d(coefs)
#
print("多项式 coefs:")
print(coefs)
# [-0.27777778 2.07142857 -4.50912698 3.3352381 ]
# 创建数据点
#x = np.linspace(-1, 10, 1100) # 从-1到10之间生成1100个点
# new_x
x = np.linspace(3.5, 4.5, 1000)
#y = f(x) # 对每个点计算y值
# 绘制拟合出来的一元一次线性方程的图像
plt.plot(x, poly(x), color = "blue")
plt.xlabel('x')
plt.ylabel('y')
plt.title('Display func: f(x) = ax^3 + bx^2 + cx + d')
plt.grid() # 显示网格
plt.show() # 显示图像
运行结果:

猜你喜欢
- 2024-12-15 一文了解 “*” 星号在 Python 中的多种用法
- 2024-12-15 什么是序列,Python序列详解(包括序列类型和常用操作)
- 2024-12-15 python中pyd文件的使用 py文件edit with idle
- 2024-12-15 如何用python代码实现手动输入两个数,并实现两个数的运算
- 2024-12-15 python一行代码打印「迷宫」建议收藏
- 2024-12-15 Python和C语言中的几个比较容易混淆的运算符号
- 2024-12-15 python 加、减、乘、除、乘方运算符
- 2024-12-15 python每天学习一点点(列表中+、*号、extend()方法的使用方法)
- 2024-12-15 简单学Python——内置函数22——range()函数
- 2024-12-15 一个简单代码加减乘除Python 加减乘除的python代码如何编写
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)