一般方程组
代码
## 一元
x = symbols('x') # 声明变量x,x可以是字符串表示单词
y = sin(x) / x # 表达式
## 求表达式的值
result = solve(y, x)
print(result)
## 多元
a = symbols('a')
b = symbols('b')
## 解析解
print(solve([sin(a+b), cos(a-3*b)], [a, b]))
## 数值解在3后加一点即可
numResult = solve([sin(a+b), cos(a-3.*b)], [a, b])
print(numResult)
结果
常微分方程组
方程
init_printing()
# 定义符号常量x 与 f(x) g(x)。这里的f g还可以用其他字母替换,用于表示函数
x, y = symbols('x y')
f = symbols('f', cls=Function)
# 用diffeq代表微分方程: f''(x) − 2f'(x) + f(x) = sin(x)
diffeq = Eq(f(x).diff(x, x) - 2 * f(x).diff(x) + f(x), sin(x))
# 调用dsolve函数,返回一个Eq对象,hint控制精度
result = dsolve(diffeq, f(x))
print(result)
方程组
init_printing()
t = symbols('t')
x, y = symbols('x, y', cls=Function)
f1 = Eq(x(t).diff(t), 12*t*x(t) + 8*y(t))
f2 = Eq(Derivative(y(t), t), 21*x(t) + 7*t*y(t))
eq = (f1, f2)
results = dsolve(eq)
for result in results:
print(result)