问题描述
我有一系列相关函数的近似值,这些函数由两个变量 import numpy as np
batch_size = 64
timesteps = 15360
channels_num = 32
x = np.random.rand(batch_size,timesteps,channels_num)
print(x.shape)
x = np.moveaxis(x,-1,0)[...,np.newaxis]
print(x.shape)
x = [i for i in x]
print(x[0].shape)
和 (64,15360,32)
(32,64,1)
(64,1)
描述。相关函数被合并到一个更大的方程中,其中有 4 个附加变量。这些变量是:theta
、Dw
、gyroI
和 gyroS
。这 4 个变量都是我拥有的可测量量。我将此写入函数并将单个输出值的依赖关系绘制为 r
和 dec
的依赖关系。
theta
产生情节的:
我想找到一种方法,让函数接受单个标量值(在本例中为 Dw
的单个值)并返回 import numpy as np
import matplotlib.pyplot as plt
N = 100
theta = np.linspace(np.pi/180,np.pi/30,N)
Dw = np.linspace(10,200,N*2)
theta,Dw = np.meshgrid(theta,Dw)
def relax(theta,Dw,gyroI,gyroS,dist,decI):
c = np.cos(theta)
X0 = (1/20)*(c*(1+c)*(9*(c**2)-1)+4)-((1/4)*(c**2)*((1+c)**2))
X1 = (1/10)*(1-c)*((2+c)*(1+(3*c**2))+(3*c))
X2 = (1/40)*((1-c)**2)*((3*c**2)+(9*c)+8)
t0 = (1/(Dw*X0))*((((c**2)*((1+c)**2))/(2*(c-1)))*(np.log(((1+c)/2)-((1-c)/2)))+(((1-c)*(2-c-(9*c**2)-(7*c**3)))/60))
t1 = (((1-c)**2)*(9+(32*c)+(44*c**2)+(20*c**3)))/(120*Dw*X1)
t2 = (((1-c)**3)*(8+(12*c)+(5*c**2)))/(240*Dw*X2)
mu = (2*np.pi*122000)
R2 = ((mu)*((gyroS/gyroI)/(dist**3))**2)*(((2*X2*t2)/(5*(1+(decI**2)*(t2**2))))+((2*X1*t1)/(5*(1+(decI**2)*(t1**2))))+((X0*t0)/(5*(1+(decI**2)*(t0**2)))))
return R2
Z = 1/relax(theta,599.7690768e6,60.825978e6,1.04,92000.0)/1e3
cmap = plt.get_cmap('jet_r')
CT =plt.contourf(np.degrees(theta),np.log10(Z),levels= 15,cmap=cmap)
plt.colorbar(CT)
plt.xlabel('theta')
plt.ylabel('Dw')
plt.show()
和 {{ 1}} 描述该值。这样我就能够在我可以定义的范围和分辨率内有效地找到描述第二个图中虚线的所有值。
如何利用 Python 将函数中定义的方程用于 R2 的单个值,并返回描述它的相应 theta 和 Dw 值?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)