【问题标题】:Reversing power function反向功率功能
【发布时间】:2020-02-28 09:44:09
【问题描述】:

我尝试编写一个函数来反转我的函数“cw_2_ZMA”,其中输出数据“cw”是根据输入数据“ZMA”计算得出的。 我创建了函数'ZMA_2_cw',如下所示,但我打印的数组显示这个函数不是完全相反的。 我一直盯着这个,但没有设法弄清楚我做错了什么。这里有谁能帮帮我吗?

#load packages
import numpy as np

#define input arrays and variables
cw_array=np.arange(0,10,1)
bs = 1.592278e-4

#functions

def cw_2_ZMA(cw):
    PCW = np.add(cw, bs)
    ZMA = -(1000 * np.log(0.05) / 144.7)* np.power(PCW, -0.88)
    return ZMA

def ZMA_2_cw(ZMA):

    PCW=(144.7/(-1000*np.log(0.05)))*np.power(ZMA,-1/0.88)
    cw=PCW*1000-bs
    return cw

#execute functions
ZMA_calc=cw_2_ZMA(cw_array)
cw_calc=ZMA_2_cw(ZMA_calc)

#print arrays
print("cw_array=", cw_array[:])
print("cw_calc=", np.round(cw_calc[:],1))

----------------------------------------------------------------------------------------------------

Output in the terminal:

('cw_array=', array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]))
('cw_calc=', array([ 0. ,  1.5,  3.1,  4.6,  6.2,  7.7,  9.3, 10.8, 12.3, 13.9]))

【问题讨论】:

    标签: python function numpy logging reverse


    【解决方案1】:

    您的转换错误 第二个功能应该是

    def ZMA_2_cw(ZMA):
       PCW = (ZMA*(-144.7/(1000*np.log(0.05))))**(-1/0.88)
       cw = pcw-bs
       return cw
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多