playman in hardworking
2020-12-10 11:49
采纳率: 100%
浏览 140

想用python,求出图中y=0时,x对应的值,放在列表

以上是作图和一次筛选,值不全,然后,本文件中ch3的数值没有0的时候,是间隔数据,希望大神指教,麻烦了,做一个循环语句也可以

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • bj_0163_bj 2020-12-10 16:20
    已采纳
    ##把xp,fp 换成你自己的就可以了
    def getx(x1,y1,x2,y2,y):
        return (y-y1)*(x2-x1)/(y2-y1)+x1
    
    xp=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    fp=[-2, -1, 0, 1, 2, 1, 0, -3, 6, -3]
    plt.plot(xp, fp, '-o')
    
    x=[]
    for i in range(1,len(xp)):
        x1=xp[i-1]
        y1=fp[i-1]
        x2=xp[i]
        y2=fp[i]
        if y1*y2<=0 and y1!=0:
            x0=getx(x1,y1,x2,y2,0)
            x.append(x0)
    print(x)
    点赞 打赏 评论
  • bj_0163_bj 2020-12-10 14:37

    私我,把数据发我看下

    点赞 打赏 评论
  • bj_0163_bj 2020-12-10 15:04

    大概懂你意思了,就是你要的数值不是原始数据里有的,是插值出来的。还有你这个x 是递增的,你是求y=0 的x 值,那就是会有多个了。遍历x 找y 是不现实的吧,插值后是个连续数值无穷多吧。 数据发我 试试。

    点赞 打赏 评论

相关推荐 更多相似问题