[英]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
)。 我想看看conc
與result
中的m
和c
的值是什么,我建議您使用dict=True
和solve
並執行如下所示:
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.