簡體   English   中英

使用 sympy python 的聯立方程

[英]Simultaneous equations using sympy python

我在下面粘貼了代碼以及 output 的圖像。 我在 output 中不斷得到“m”和“c”,而不是得到 m 和 c 的值。 為什么會這樣?

import math
from sympy import solve, Eq
from sympy.abc import m, c
import sympy as sym

std = 100
std_half = std/2

m,c = sym.symbols('m,c')

eq1 = sym.Eq(0-(math.log(g_value3/g_value2)),(m*std_half)+c)       #y=mx+c, where y is absorbance, x is known concentration
eq2 = sym.Eq(0-(math.log(g_value4/g_value2)),(m*std)+c)

result = sym.solve([eq1,eq2],(m,c))

conc = ((0-math.log(g_value1/g_value2))-c)/m    #re-arranging y=mx+c in order to get x which is the concentration[![This is the output I'm getting][1]][1]

solve分配值,它確定一個值並將其分配給 output (您已將其存儲為result )。 我想看看concresult中的mc的值是什么,我建議您使用dict=Truesolve並執行如下所示:

result = sym.solve([eq1,eq2],(m,c),dict=True)  # get a list of one or more dict
conc = ((0-math.log(g_value1/g_value2))-c)/m  # c and m are still symbols
print([conc.subs(r) for r in result])  # replaces c and m with values from solve

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM