通过任意数量点拟合曲线
原理是:任意数量点,都可以计算出穿过他们的一个多项式公式。
# -*-coding:utf-8-*-
from sympy import *
import numpy as np
import matplotlib.pyplot as plt
import random
# x = Symbol('x')
# y = Symbol('y')
# print(solve([3*x + 4*y - 49, 8*x - y - 14], [x, y]))def do_a(points = None):vari = []for i, point in enumerate(points):var_tem = Symbol('a_'+str(i))vari.append(var_tem)express_arr = []for i, point in enumerate(points):express_arr.append(0)for j in range(len(vari)):express_arr[i] = express_arr[i] + vari[j] * (point[0]**j)express_arr[i] -= point[1]return solve(express_arr, vari)def draw_pic(var, points ):t = np.arange(0, 100, 1)y_arr = []str_exp = 'y = 'for i in range(len(t)):y_arr.append(0)for j,ex in enumerate(var):if i == 0:if j == 0:str_exp += str(var[ex])else:if var[ex] > 0:str_exp += ' + ' + str(var[ex]) + ' * ' + 'X^'+str(j)else:str_exp += ' - ' + str(abs(var[ex]) ) + ' * ' + 'X^'+str(j)y_arr[i] += var[ex] * ( t[i]**j )print('表达式:', str_exp)plt.figure(num=1, figsize=(100, 100))plt.axis([0, 200, 0, 200])plt.plot(t, y_arr, color='red')plt.scatter([p[0] for p in points],[p[1] for p in points])plt.show()p = [ [2,10], [3,7], [11.5, 20.5], [20.2, 12.5] ]
p = [ ]
for i in range(6):x = random.randint(0, 100)y = random.randint(0, 100)p.append([x, y ])la = do_a(points = p)print(la )
draw_pic(la, points= p)
通过任意数量点拟合曲线相关推荐
- 【Python】向函数传递任意数量的实参
传递任意数量的实参 有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参 def get_letter(*letters):for i in letter ...
- python随机生成车牌_Python实现随机生成任意数量车牌号
之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳. 注:Python实现 import random def chepaihao(len= ...
- mac邮件过滤器SpamSieve,支持任意类型的任意数量的电子邮件帐户
SpamSieve for mac是适用于Mac系统的一款邮件过滤器.spamsieve mac支持任意类型的任意数量的电子邮件帐户,可以通过各种标准可靠地识别哪些消息不是垃圾邮件,了解您的合法邮件是 ...
- 点星 (。*)表示任意数量的字符(不包括换行符)
点 .表示任意字符,不包括换行符 .\n表示换行符 星 * 表示任意数量 \b 表示单词的开始或结束 \s表示空格 表示数量的还有 + ,? +表示重复一次或更多次 ?表示重复零次或一次 *表示重复零 ...
- Python:向函数传递任意数量的实参
传递任意数量的实参 有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参 def get_letter(*letters):for i in letter ...
- 可接受任意数量参数的函数
问题1: 假如我们想编写一个可以接受任意数量参数的函数 解决思路: 我们可以编写一个可接受任意数量的位置参数的函数,它是以*开头的参数. 下面是示例: def avg(first,*rest):ret ...
- 《Python编程从入门到实践》记录之Python函数传递任意数量的实参
目录 1.传递任意数量的实参 2.结合使用位置实参和任意数量实参 3.使用任意数量的关键字实参(字典传递) 1.传递任意数量的实参 Python允许函数从调用语句中收集任意数量的实参,需要在函数定义时 ...
- python 类初始化参数校验_python之类的任意数量参数初始化
python中在对类的函数初始化时,可以传入多个参数,甚至任意数量的参数 比如: class Person(object): def __init__(slef, name, age, **kw): ...
- Python实战从入门到精通第十一讲——可接受任意数量参数的函数
构造一个可接受任意数量参数的函数. 为了能让一个函数接受任意数量的位置参数,可以使用一个*参数.例如: def avg(first, *rest):return (first + sum(rest)) ...
- 实参可以是任意类型吗_传递任意数量的实参
有时候你预先不知道函数需要接受多少个实参,好在python允许函数从调用语句中收集任意数量的实参. 例如来看一个制作比萨的函数,它需要接受很多配料,但你无法预先确定顾客需要多少种配料.下面的函数只有一 ...
最新文章
- thinkphp内置标签简单讲解
- React之初始化state
- python做统计_利用 Python 进行统计
- 降低深度学习开发门槛,“动态图+高层API”能带来多大的便利?
- CMSampleBufferRef获取h264 char*数据及sps/pps
- LinuxCNC的能做什么
- 计算机关于职业与道德的论文怎么写,计算机职业道德论文提纲模板 计算机职业道德论文大纲怎么写...
- 大前端完整学习路线(完整版)
- python 绝对值_Python绝对值– abs()
- 计算机基础ps变换蝴蝶,在PS中用自由变换制作飞舞的蝴蝶和用内容识别比例缩放的操作过程...
- FW:nbsp;司马相如琴挑文君真相:劫色劫…
- HDU 1429 bfs 状态压缩
- 如何用C语言在控制台输出437代码页编码下的ASCII字符
- 第9章 Linux文件核心属性知识
- 如何软著办理,软著申请步骤,软著办理流程
- [Matlab科学计算] 四阶Runge-Kutta法解常微分方程
- 高边电流检测测量:电路和原理
- x264参数与代码对应
- 戴尔电脑如何设置快速开机
- 称球问题解析(1)- 12球
热门文章
- win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
- Elasticsearch最佳实践之使用场景
- 电脑计算机c盘缓存清理,怎么清除电脑C盘缓存
- 计算机休眠期死机,电脑休眠状态频繁死机怎么处理
- Starbound正式版的Mod制作(一)nbsp;…
- Android 手机截屏
- java pdf转jpg_java pdf转换jpg
- Oracle 如何生成随机数字、字符串、日期、验证码以及 UUID
- 714. 买卖股票的最佳时机含手续费
- OSChina 周六乱弹 —— 我媳妇是条蛇