【问题标题】:Evaluate/calculate math equation with every entry in array使用数组中的每个条目评估/计算数学方程
【发布时间】:2021-03-27 00:28:45
【问题描述】:

我有一个数组和一个方程。

我想将所有数组值插入方程式并保存。

到目前为止我所尝试的:

import math
import numpy as np

Z_F0=376.73
Epsilon=3.66

wl_range = [np.arange(0.1, 50, 0.1)]
wl_array = np.array(wl_range)
multiplied_array = 6+(2*math.pi*6)*math.exp(-1*(30.666/wl_array)**0.7528)
print(multiplied_array)

或者我试过multiplied_array = np.vectorize(6+(2*math.pi*6)...)

但我明白了

only size-1 arrays can be converted to Python scalars 

错误。

【问题讨论】:

    标签: python list numpy-ndarray


    【解决方案1】:

    你不需要mathnumpypiexppi 可以与 math 一起使用,因为它只是一个常数。但是你的指数的内容是一个向量,所以你需要使用numpy

    在某些情况下math 更快(当您不进行矢量化时),因为numpy 检查输入尺寸的开销更高。

    import numpy as np
    
    Z_F0=376.73
    Epsilon=3.66
    
    wl_range = [np.arange(0.1, 50, 0.1)]
    wl_array = np.array(wl_range)
    multiplied_array = 6+(2*np.pi*6)*np.exp(-1*(30.666/wl_array)**0.7528)
    print(multiplied_array)
    

    输出:

    [ 6.          6.          6.          6.          6.00000001  6.00000015
       6.00000127  6.00000656  6.00002459  6.00007283  6.00018111  6.00039369
       6.0007699   6.00138329  6.00231952  6.00367362  6.00554684  6.00804354
       6.01126831  6.01532348  6.020307    6.02631085  6.03341981  6.04171066
       6.0512517   6.06210249  6.07431393  6.08792837  6.10297998  6.11949516
       6.13749297  6.15698571  6.17797939  6.20047433  6.22446568  6.24994393
       6.27689541  6.30530278  6.33514546  6.36640006  6.39904075  6.43303963
       6.46836702  6.50499181  6.54288169  6.58200341  6.62232297  6.66380586
       6.70641722  6.75012196  6.79488494  6.84067111  6.88744554  6.93517359
       6.98382097  7.03335377  7.08373859  7.13494255  7.18693331  7.23967918
       7.29314908  7.34731259  7.40213999  7.45760222  7.51367097  7.5703186  ...
    

    【讨论】:

      【解决方案2】:

      math.exp() 仅适用于 标量 参数 x。如果您使用numpy.exp(),则该等式应该有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-02
        相关资源
        最近更新 更多