我試圖創建一個函數,但它涉及兩個不同長度的變量。我的設置如下:具有兩個不同長度變量的函數
import pandas as pd
import numpy as np
u = np.random.normal(0,1,50)
t = 25
x = t*u/(1-u)
x = np.sort(x, axis=0)
theta = list(range(1, 1001, 1)
theta = np.divide(theta, 10) # theta is now 1000 numbers, going from 0.1 to 100
fx = np.zeros(1000)*np.nan
fx = np.reshape(fx, (1000,1))
我希望我的功能如下所示:
def function(theta):
fx = 50/theta - 2 * np.sum(1/(theta + x))
return fx
,但它不會工作,因爲THETA是長度1000和X的長度爲50。我希望它爲每個THETA反覆工作,並在結尾部分:
np.sum(1/(theta + x)
我希望它將單個theta添加到x中的五十個數字中的每一個。如果我這樣做一次,它看起來像:
fx[0] = 50/theta[0] - 2 * np.sum(1/(theta[0] + x))
我能得到這個與工作「for」循環,但我最終需要輸入此爲最大似然函數,以便使用韓元」工作。有什麼想法嗎?
嘗試地圖上每x執行最後一次操作 – sabbahillel