不是很明確你需要做到什麼程度,但基本可以透過以下兩個手段得到:
手工解方程得到解析解,然後套入公式
使用一些工具包例如numpy可以自動求解
以下都給出例子
import numpy as np
import matplotlib.pyplot as plt
plt.axis("equal")
a = np.linspace(1,10,100) # a 的變化範圍可以自己挑,前兩個引數控制,
# 使用 numpy 自動求解
res = []
for x in a:
A = np.mat("1, 2; {}, -1".format(x))
b = np.mat("{}, 10".format(x)).T
res.append(np.linalg.solve(A, b))
# 計算完畢後取出每對x和y
x1 = [float(r[0]) for r in res]
y1 = [float(r[1]) for r in res]
plt.plot(x1, y1)
#####################################
# 手工計算過程很簡單不放上來了,直接上結果
x2 = [(a1 + 20) / (2*a1 + 1) for a1 in a]
y2 = [(a1**2 - 10) / (2*a1 + 1) for a1 in a]
plt.plot(x2, y2)
不是很明確你需要做到什麼程度,但基本可以透過以下兩個手段得到:
手工解方程得到解析解,然後套入公式
使用一些工具包例如numpy可以自動求解
以下都給出例子
import numpy as np
import matplotlib.pyplot as plt
plt.axis("equal")
a = np.linspace(1,10,100) # a 的變化範圍可以自己挑,前兩個引數控制,
# 使用 numpy 自動求解
res = []
for x in a:
A = np.mat("1, 2; {}, -1".format(x))
b = np.mat("{}, 10".format(x)).T
res.append(np.linalg.solve(A, b))
# 計算完畢後取出每對x和y
x1 = [float(r[0]) for r in res]
y1 = [float(r[1]) for r in res]
plt.plot(x1, y1)
#####################################
# 手工計算過程很簡單不放上來了,直接上結果
x2 = [(a1 + 20) / (2*a1 + 1) for a1 in a]
y2 = [(a1**2 - 10) / (2*a1 + 1) for a1 in a]
plt.plot(x2, y2)