-1
我有4個變量x,v,eta(e),beta(b)的方程。我想用各種值代替x和v,並通過乘以所有得到的項來創建一個方程式。 Image of Code in sympy使用SYMPY求解MLE(最大似然估計)方程
使用SYMPY,如何求解在兩個變量(e和b)獲得的方程取對數e和然後b? 我正在考慮'ln',以便乘法項被簡化爲加性項,因此指數項得到消除。但是,這並沒有發生。它只是寫了字的日誌在前面,但使用屬性LN(MN)= LN(M)+ LN(N)
以下不擴大在控制檯輸出:
Output in console when I run code shown in previous image
請以可複製粘貼的格式提供您的代碼。與此同時,嘗試調用'sp.expand_log'選項'force = True' – Stelios
@Stelios,我仍然無法消除expand_log中的force = true後的指數項從sympy.solvers中刪除PFB代碼: .pde進口pdsolve 從sympy導入功能,DIFF,等式 從sympy.abc進口X,Y,Z,v 從sympy進口* 從sympy進口IndexedBase#,IDX,符號,OO 進口sympy如藻 # import numpy #from mpmath import * #from sympy.tensor.array import Array e,b,a = sp.symbols('eb a') 續... –
x = sp.IndexedBase('x') v = sp.IndexedBase('v') i,j = sp.symbols('ij',cls = Idx) def f(x,v,e ,b): y =(((x + v)/ e)**(b-1))*(sp.exp((v/e)** b - ((x + v)/ e) ** b)) 返回是 # # n = 0的 對於i在範圍(0,6): X = X [I] .subs(X [I]中,(2,3,4, 5,1,1)) v = v [i] .subs(v [i],(1,2,3,4,5,6)) o = sp.ln(f(x [i ],v [i],e,b)) n + = o pri NT(N) DEF米(E,B): 米= sp.expand_log(sp.ln(n))的 返回米 打印(M(E,B)) 等式=(sp.diff( N,E),sp.diff(N,b)) 打印(等式) 打印(sp.solve(等式)) –