Решение систем линейных уравнений

In [1]:
from scipy import linalg  # модуль для решения СЛАУ
import numpy as np        # модуль для задания матриц

Решим систему уравнений:

2x13x2=16

3x1+2x2=9

Запишем её в матричной форме

Ax=b

где A - матрица коэффициентов перед иксами,

b - столбец свободных членов.

In [2]:
A = np.array( [ [2, -3],
                [-3, 2]  ] )

b = np.array( [-16, 9] )

x = linalg.solve(A,b)
In [3]:
# напечатем решение
x
Out[3]:
array([1., 6.])

Символьные вычисления

Решим квадратное уравнение:

x22x3=0

In [4]:
from sympy import symbols, solve

# для вывода формул
from sympy import init_printing
init_printing(use_latex='mathjax')


# зададим переменную
x = symbols('x')

# решим уравнение
solve( x**2 - 2 * x - 3  )
Out[4]:
[1,3]

x1=1

x2=3

Выражение одних переменных через другие

Решим уравнение выразив z через l

z2+2lzl2=0

In [5]:
from sympy import symbols, diff

# для вывода формул
from sympy import init_printing
init_printing(use_latex='mathjax')

z = symbols('z')
l = symbols('l')

# после уравнения, через запятую, указывается переменная (z) которую нужно выразить
solve( z**2 + 2*l*z - l**2, z)
Out[5]:
[l(1+2),l(1+2)]

Упрощение выражений

Упростим выражение 2x2x(x5)+x2

In [6]:
from sympy import symbols, simplify
# для вывода формул
from sympy import init_printing
init_printing(use_latex='mathjax')

x= symbols('x')

simplify( 2*x**2 - x*(x-5)+x**2 )
Out[6]:
x(2x+5)

Производные

найдём производную по z от Rbzqz22

In [7]:
Rb = symbols('Rb')
q = symbols('q')
z = symbols('z')

diff( Rb*z - q * z**2 / 2 , z )
Out[7]:
Rbqz