python已知y求x_当使用python知道X坐标值未知时,如何根据Y坐标获取Path的X坐标
当我只有一个已知的Y坐标方程,即P = a * b(其中a& b定义的值为0.8,150)和x坐标完全未知时,如何在曲线绘图上得到一个点没有连接x和y的方程(例如:y = mx b; #i没有这种方程).因此,现在目标是,如果我将’Y坐标’值设置为120并且需要通过从未知’x-coordiante’值获取距离或路径来绘制曲线上的点.
我尝试了如下代码
import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import InterpolatedUnivariateSpline
# given values
y = np.array([0, 38.39, 71.41, 99.66, 123.67, 143.88, 160.61, 174.03, 184.16, 190.8, 193.52])
x = np.array([0, 0.37, 0.74, 1.11, 1.48, 1.85, 2.22, 2.59, 2.96, 3.33, 3.7])
x_val = np.linspace(0,7) #limts on x-axis
a = 0.8
b = 150
y_val = np.multiply(a, b)
yinterp = np.interp(x_val, x, y)
plt.plot(x, y, '-')
plt.plot(x_val, yinterp, 'o')
#here i need to plot a exact point w.r.t to y_val
#and also need to show the distance with a line from the selected x and y coordinates
plt.plot(x_val,y_val, '--')
plt.show()
解决方法:
你想要的是找到数组的根(s)或零(s).这个问题的答案显示了如何做到这一点:How to get values from a graph?
将解决方案应用于此案例如下:
import matplotlib.pyplot as plt
import numpy as np
# given values
y = np.array([0, 38.39, 71.41, 99.66, 123.67, 143.88, 160.61, 174.03, 184.16, 190.8, 193.52])
x = np.array([0, 0.37, 0.74, 1.11, 1.48, 1.85, 2.22, 2.59, 2.96, 3.33, 3.7])
x_val = np.linspace(0,7)
plt.plot(x, y, '-')
def find_roots(x,y):
s = np.abs(np.diff(np.sign(y))).astype(bool)
return x[:-1][s] + np.diff(x)[s]/(np.abs(y[1:][s]/y[:-1][s])+1)
a = 0.8
b = 150
y_val = np.multiply(a, b)
roots = find_roots(x, y-y_val)
plt.plot(roots[0],y_val, marker="o")
plt.plot([roots[0],roots[0],0],[0,y_val,y_val], "--")
plt.xlim(0,None)
plt.ylim(0,None)
plt.show()
如果数组单调递增,您当然也可以简单地插值:
import matplotlib.pyplot as plt
import numpy as np
# given values
y = np.array([0, 38.39, 71.41, 99.66, 123.67, 143.88, 160.61, 174.03, 184.16, 190.8, 193.52])
x = np.array([0, 0.37, 0.74, 1.11, 1.48, 1.85, 2.22, 2.59, 2.96, 3.33, 3.7])
x_val = np.linspace(0,7)
plt.plot(x, y, '-')
a = 0.8
b = 150
y_val = np.multiply(a, b)
root = np.interp(y_val,y,x)
plt.plot(root,y_val, marker="o")
plt.plot([root,root,0],[0,y_val,y_val], "--")
plt.xlim(0,None)
plt.ylim(0,None)
plt.show()
标签:python,numpy,scipy,matplotlib
python已知y求x_当使用python知道X坐标值未知时,如何根据Y坐标获取Path的X坐标相关推荐
- python已知两边求第三边_探究“已知一个三角形两边及其夹角,求第三边”的问题...
探究"已知一个三角形两边及其夹角求第三边"的问题 [知识点] 余弦定理. [对应版本章节] 本节课是人民教育出版社出版的高中数学 A 版数学必修 5 第一章"解三角 形& ...
- python已知两边求第三边_已知两边求第三边公式
如果是三角形是直角三角形,知道两边,可以用勾股定理求出第三边.如果是三角形是普通三角形(锐角.钝角三角形),那这个条件下只能求出第三边的范围:两边之和大于第三边,两边之差小于第三边. 求边公式 只知道 ...
- python怎么根据点来拟合曲线_2019_nCoV_利用python根据已知点求拟合曲线及简单预测(无实际意义)...
前言 本文仅做根据已知点求拟合曲线的几种方法的python实现,无任何实际意义 数据来源(另一篇博文) 利用Python爬取新冠肺炎疫情实时数据,Pyecharts画2019-nCoV疫情地图 参考 ...
- 已知函数和y值求自变量用matlab,matlab已知函数值求自变量,求助
思路是这样的:你得到最小的函数值后,把它带入你作图的方程反解自变量的值.我不知道你画的这个函数图像的方程什么,我用一个二次方程y=x.^2+x给你做示范:先做图:x=-10:0.1:10;y=x.^2 ...
- 税收问题的分析:已知税后收入求税前、年终奖一元陷阱的分析
早上家里来了个客人,聊天中得知了他的税后收入于是蛮好奇他的税前收入是多少. 顺便开了一下脑洞,想证明一下当前年终奖税收模型下,是否存在合理的税率及税收安排,使得"一元陷阱"得以避免 ...
- 矩阵——“大材小用”之已知点关于已知直线求其对称点
矩阵 A = [ cos 2 θ sin 2 θ sin 2 θ − cos 2 θ ] \mathbf{A}= \begin{bmatrix} \cos2\theta & \ ...
- 已知序列求蝶形运算_在N=32的基 2 时间抽取发 FFT 运算流图中,从 到 需______级蝶形运算过程。 (4.0分)_学小易找答案...
[单选题]互相关函数性质正确的是: [计算题]两个有限长的复序列 x[n] 和 h[n] ,其长度分别为 N 和 M ,设两序列的线性卷积为 y[n]=x[n]*h[n] ,回答下列问题: (1) 序 ...
- C语言--已知三边求三角形面积
已知三边求面积用海伦公式S=sqrt[p(p-a)(p-b)(p-c)] p=(a+b+c)/2 #include<stdio.h> #include<math.h> int ...
- 已知分布函数求概率密度例题_高中数学必修一函数知识点总结
同学们,今天开始讲解函数章节学习,函数这章极其重要,因为函数是高中数学重要的枢纽章节,高中数学除了立体几何和概率统计和函数没有关系之外,所有章节多多少少和函数有关系,所以函数学不好高中数学很难突破10 ...
最新文章
- v$open_cursor与session_cached_cursor
- 彩色图如何转换成灰度
- 相似度--欧氏距离(归一化)
- 关于python进行批量数据备份及部署
- js 浅拷贝直接赋值_JS中实现浅拷贝和深拷贝的代码详解
- 牛客16429 组合数问题(二维前缀和、杨辉三角)
- 3章.Linux主机规划和磁盘分区
- Linq to Sql: 集成数据库语言查询之一
- 大一计算机考试题库知识点,大一 计算机基础 期末考试题库
- 微软邮件服务器名称,邮箱服务器角色概述
- java jdk运行_java运行机制、Jdk版本及Java环境变量
- WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
- Windows核心编程_LOG软件
- 第一回 钟碧诚 被迫上屋顶
- 开发人员的U盘,最好是128G
- python删除一行代码_python基础教程:python3.7 openpyxl 删除指定一列或者一行的代码...
- Linux的远程传输文件scp及出现Permission denied (publickey).lost connection问题解决方法
- php 检查货币类型_php 判断函数是否为费用类型(金额/货币:6.02)有小数点
- 计算机文献检索语言,文献检索语言
- 搭建网站从服务器购买备案到域名注册整个流程