2024年8月13日火曜日

連立方程式をPythonで解く

Pythonの数学ライブラリ

Pythonは柔軟な言語で数学関係のライブラリが非常に充実しています。 方程式はSymPyライブラリが得意とする部分で、そのまま記号を使い直感的に数学を解いてくれます。
例題(1)
\begin{align} \begin{aligned}2x+y=2\\ 4x+y=-4\end{aligned} \end{align}
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Symbolとsolveをインポートします
from sympy import Symbol, solve

# x と y を代入出来るようにします
x = Symbol("x")
y = Symbol("y")

# 方程式をすべて片辺に移項し代入します。
s1 = 2 * x + y - 2
s2 = 4 * x + y + 4

# 方程式を入れた変数をリストかタプル形式でsolveに入れると答えが出ます。
print(solve((s1, s2)))

答え: {x: -3, y: 8}

x = -3, y = 8と答えが出ました。
例題(2)
\begin{align} \begin{aligned}3x-4y=10\\ -5x-4y=26\end{aligned} \end{align}
s1 = 3 * x - 4 * y - 10
s2 = -5 * x -4 * y - 26


print(solve((s1, s2)))

答え: {x: -2, y: -4}

ライブラリを使えば簡単に答えが出せます。

0 件のコメント:

コメントを投稿

NBA選手シーズンごとの平均リバウンド

NBA選手のシーズン当たりのリバウンド シーズン毎の得点に続き、シーズン毎のリバウンドを可視化してみます。 外れ値を省くために、1シーズン40試合以上出場した選手で構成しています。 #! /usr/bin/env python import numpy as np imp...