原理是:任意数量点,都可以计算出穿过他们的一个多项式公式。

# -*-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)

通过任意数量点拟合曲线相关推荐

  1. 【Python】向函数传递任意数量的实参

    传递任意数量的实参 有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参 def get_letter(*letters):for i in letter ...

  2. python随机生成车牌_Python实现随机生成任意数量车牌号

    之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳. 注:Python实现 import random def chepaihao(len= ...

  3. mac邮件过滤器SpamSieve,支持任意类型的任意数量的电子邮件帐户

    SpamSieve for mac是适用于Mac系统的一款邮件过滤器.spamsieve mac支持任意类型的任意数量的电子邮件帐户,可以通过各种标准可靠地识别哪些消息不是垃圾邮件,了解您的合法邮件是 ...

  4. 点星 (。*)表示任意数量的字符(不包括换行符)

    点 .表示任意字符,不包括换行符 .\n表示换行符 星 * 表示任意数量 \b 表示单词的开始或结束 \s表示空格 表示数量的还有 + ,? +表示重复一次或更多次 ?表示重复零次或一次 *表示重复零 ...

  5. Python:向函数传递任意数量的实参

    传递任意数量的实参 有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参 def get_letter(*letters):for i in letter ...

  6. 可接受任意数量参数的函数

    问题1: 假如我们想编写一个可以接受任意数量参数的函数 解决思路: 我们可以编写一个可接受任意数量的位置参数的函数,它是以*开头的参数. 下面是示例: def avg(first,*rest):ret ...

  7. 《Python编程从入门到实践》记录之Python函数传递任意数量的实参

    目录 1.传递任意数量的实参 2.结合使用位置实参和任意数量实参 3.使用任意数量的关键字实参(字典传递) 1.传递任意数量的实参 Python允许函数从调用语句中收集任意数量的实参,需要在函数定义时 ...

  8. python 类初始化参数校验_python之类的任意数量参数初始化

    python中在对类的函数初始化时,可以传入多个参数,甚至任意数量的参数 比如: class  Person(object): def __init__(slef, name, age, **kw): ...

  9. Python实战从入门到精通第十一讲——可接受任意数量参数的函数

    构造一个可接受任意数量参数的函数. 为了能让一个函数接受任意数量的位置参数,可以使用一个*参数.例如: def avg(first, *rest):return (first + sum(rest)) ...

  10. 实参可以是任意类型吗_传递任意数量的实参

    有时候你预先不知道函数需要接受多少个实参,好在python允许函数从调用语句中收集任意数量的实参. 例如来看一个制作比萨的函数,它需要接受很多配料,但你无法预先确定顾客需要多少种配料.下面的函数只有一 ...

最新文章

  1. thinkphp内置标签简单讲解
  2. React之初始化state
  3. python做统计_利用 Python 进行统计
  4. 降低深度学习开发门槛,“动态图+高层API”能带来多大的便利?
  5. CMSampleBufferRef获取h264 char*数据及sps/pps
  6. LinuxCNC的能做什么
  7. 计算机关于职业与道德的论文怎么写,计算机职业道德论文提纲模板 计算机职业道德论文大纲怎么写...
  8. 大前端完整学习路线(完整版)
  9. python 绝对值_Python绝对值– abs()
  10. 计算机基础ps变换蝴蝶,在PS中用自由变换制作飞舞的蝴蝶和用内容识别比例缩放的操作过程...
  11. FW:nbsp;司马相如琴挑文君真相:劫色劫…
  12. HDU 1429 bfs 状态压缩
  13. 如何用C语言在控制台输出437代码页编码下的ASCII字符
  14. 第9章 Linux文件核心属性知识
  15. 如何软著办理,软著申请步骤,软著办理流程
  16. [Matlab科学计算] 四阶Runge-Kutta法解常微分方程
  17. 高边电流检测测量:电路和原理
  18. x264参数与代码对应
  19. 戴尔电脑如何设置快速开机
  20. 称球问题解析(1)- 12球

热门文章

  1. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
  2. Elasticsearch最佳实践之使用场景
  3. 电脑计算机c盘缓存清理,怎么清除电脑C盘缓存
  4. 计算机休眠期死机,电脑休眠状态频繁死机怎么处理
  5. Starbound正式版的Mod制作(一)nbsp;…
  6. Android 手机截屏
  7. java pdf转jpg_java pdf转换jpg
  8. Oracle 如何生成随机数字、字符串、日期、验证码以及 UUID
  9. 714. 买卖股票的最佳时机含手续费
  10. OSChina 周六乱弹 —— 我媳妇是条蛇