python - 是否可以从 python 中的 x 的隐式函数中获取 x 值的数组?
问题描述
我试图获得 x(y) 而不是 y(x) 的函数,但就 x 而言的函数本身是一个隐式函数。有没有一种方法可以基于 y 范围返回 x 值?或者是否可以在 x 处推断出一组 x,y 值远大于 10^7?
edit1:更改了 x 和 y 以使其更合理
import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate
df = .1
a = 300
y = np.arange(1, a,df)
def x (y):
try:
x = y*(a-1)**(3/2)/(a-y)**(3/2)
return x
except ZeroDivisionError:
return 0
plt.loglog(x(y),y,'b')
跟进:原来 interp1d 也可以用于外推
from scipy import interpolate
inte = interpolate.interp1d(x(y),y, fill_value='extrapolate')
ynew = np.arange(299,300,1e-5)
xnew = f(ynew)
plt.loglog(x(y),y,xnew,ynew)
解决方案
推荐阅读
- model - 使用远程 Methode 检查一个日期是否在两个日期之间
- go - goroutine 上的“选择性”互斥
- angular - ionic 4 native http获取空数组
- html - HTML表格显示问题
- perl - 调用子程序时的perl自动生存
- kubernetes - 限制网格内的 Istio 服务
- segue - Swift - 仅在 TouchID 身份验证后进行 Segue
- javascript - 如何通过 selenium 获取 Chrome 性能工具摘要
- matlab - 如何在matlab中计算总和
- javascript - 尝试转换为日期时获取 RangeError Invalid Date