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 件のコメント:

コメントを投稿

Pythonで地図空間データを扱う⑤

ベースの地図が出来た所で、他のデータを被せてみます。 国土地理院の  500mメッシュ別将来推計人口データ  を使用します。 同じく神奈川県のデータ  500m_mesh_suikei_2018_shape_14.zip をダウンロードします。 ベースの地図データと同じ場所に展開...