zoukankan      html  css  js  c++  java
  • v&n赛 ML 第一步(python解决)

    题目链接

    给了70组x,y,根据提示,是求拟合曲线,再通过x求y

     知道MATLAB应该录入就能解决吧,但是没下这软件,试试用python解决

    #coding:utf-8
    from pwn import *
    import numpy as np
    import matplotlib.pyplot as plt
    import re
    
    p=remote('node3.buuoj.cn',25402)
    p.recvuntil("hello,whats your name?")
    p.sendline("payload")
    print(p.recvline())
    print(p.recvline())
    print(p.recvline())
    print(p.recvline())
    print(p.recvline())
    n="
    "
    p.sendline(n)
    x=np.zeros(70)
    y=np.zeros(70)
    for i in range(0,70):
        a=p.recvline()
        #print(a)
        match = re.search( r'=(.*?),(.*?);', a)
        x1=match.group(1)
        #print(x)
        x[i]=x1
        y1=match.group(2)
        y1=y1[2:]
        y[i]=y1
        #print(y)
    print(x)
    print(y)
    #x = x.array(y, dtype='S32')
    x = x.astype('float64')
    #y = np.array(y, dtype='S32')
    y = y.astype('float64')
    poly = np.polyfit(x, y, deg = 2)
    p.recvline()for j in range(0,10):
        response=p.recvline()
        x_need=response[7:-5]
        x_need=float(x_need)
        #x_need=np.fromstring(x_need)
        #x_need = x_need.astype('float64')
        print(x_need)
        y_need=np.polyval(poly, x_need)
        
        print(y_need)
        y_need=str(y_need)
        p.sendline(y_need)
        
    b=p.recvline()
    print(b)

    很简单,通过numpy库的polyfit和polyval就能解决

     

     附上官网参考文件

    https://ww2.mathworks.cn/help/matlab/ref/polyfit.html
    https://www.numpy.org.cn/
  • 相关阅读:
    TX2 刷机教程
    ROS2 树莓派SBC镜像安装
    OP3 默认ID图
    OP3 镜像恢复
    ROS2 BringUp
    学习笔记3:Linux面试题
    学习笔记2:Linux简单指令
    学习笔记1:Git简单指令
    编程小白入门分享五:Vue的自定义组件
    编程小白入门分享四:Vue的安装及使用快速入门
  • 原文地址:https://www.cnblogs.com/p201821440039/p/12420367.html
Copyright © 2011-2022 走看看