У меня есть уравнение в 4 переменных x, v, eta (e), beta (b). Я хочу подставить x и v различными значениями и создать уравнение, умножив все полученные термины. Image of Code in sympyРешение уравнения MLE (Максимальное значение правдоподобия) с использованием SYMPY
Использование SYMPY, Как решить полученное уравнение по двум переменным (e и b), взяв log и дифференцируя по e, а затем b? Я беру «ln», чтобы мультипликативные члены упрощались до аддитивных членов и, следовательно, экспоненциальные члены исключались. Но этого не происходит. Он просто пишет журнал слово перед, но не расширяется, используя свойство пер (тп) = Ln (т) + п (п)
Далее следует вывод в консоли:
Output in console when I run code shown in previous image
Пожалуйста, предоставьте код в формате, который можно скопировать. В то же время попробуйте вызвать 'sp.expand_log' с опцией' force = True' – Stelios
@Stelios, я все еще не могу устранить экспоненциальные термины после force = true в expand_log Код PFB: от sympy.solvers .pde импорт pdsolve из SymPy импорта функции, дифференциала, уравнение из sympy.abc импорта х, у, г, у из SymPy импорта * # из SymPy импорта IndexedBase, IDX, символы, оо импорт SymPy в зр # импорт NumPy # из mpmath импорта * # из sympy.tensor.array импорта массива е, б, а = sp.symbols ('Е.Б.') Продолжение ..... –
х = sp.IndexedBase ('х') V = sp.IndexedBase ('v') I, J = sp.symbols ('IJ', ЦБС = IDX) Защиту F (х, у, е , b): y = ((x + v)/e) ** (b-1)) * (sp.exp ((v/e) ** b - ((x + v)/e) ** б)) возвращение у # # п = 0 для я в диапазоне (0,6): х = х [г] .subs (х [I], (2,3,4, 5,4,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 нт (п) Защиты т (е, б): м = sp.expand_log (sp.ln (п)) возврата м печать (т (е, б)) уравнение = (sp.diff (п, е), sp.diff (п, б)) печати (эквалайзеры) печать (sp.solve (эквалайзеры)) –