美文网首页
Sympy 解含参数的线性方程组

Sympy 解含参数的线性方程组

作者: 寂风如雪 | 来源:发表于2020-01-06 21:50 被阅读0次

用矩阵的形式表示就好,有线代知识的话看例子会很容易明白:

import sympy as sp

x0 = sp.symbols('x0')
x = sp.symarray('x', (3, 1))

A = sp.Matrix([[x0**2, x0, 1], [2*x0, 1, 0], [10000, 100, 1]])
B = sp.Matrix([[60], [60/x0], [100]])

sol = sp.solve(A*x-B, tuple(x[:, 0]))

注意几个坑:

  1. x = sp.symarray('x', (3, 1))不能写成x = sp.symarray('x', 3)否则返回的不是矩阵,A*x-B会报错。
  2. sol = sp.solve(A*x-B, tuple(x[:, 0]))必须指定变量,否则x_0也会被当作变量解。
  3. sol = sp.solve(A*x-B, tuple(x[:, 0]))不能写成sol = sp.solve(A*x-B, x)因为变量不接受array

相关文章

网友评论

      本文标题:Sympy 解含参数的线性方程组

      本文链接:https://www.haomeiwen.com/subject/furlactx.html