【行列の活用方法が分かる!】連立一次方程式から行列を作りPythonで計算してみる

こまったこと!

①行列の計算方法はわかるが、そもそもどんなときに行列を使うのかわからない!

②行列が使えるとどんなことが嬉しんだよ!

今回は、日常のあるあるから、行列が役立つ例を紹介します。 
本記事の流れ:
①日常のあるあるから連立方程式を作る
②連立方程式を行列計算に置き換える
③Pythonで簡単に行列の計算して連立方程式を解く

日常のあるあるから連立方程式を作る

以下のような問題があるとします。

問題

文章題 150円のイチゴと50円のバナナを買いました。あわせて15個買ったら合計金額が1550円になりました。イチゴとバナナをそれぞれ何個買ったか求めましょう。

この文章を連立方程式に置き換えます。

連立一次方程式

$$
変数として、イチゴをx_1、バナナをx_2と置きます。
$$

すると以下のような連立一次方程式ができ、解いていきます。

$$①・・・x_1 + x_2 = 15$$
$$②・・・150x_1 + 50x_2 = 1550 $$

連立一次方程式は、①②の式を掛け算したり、足したり、引いたりして答えを出そうとしますが面倒です。そこで行列の出番です。

連立方程式を行列に変換する

上記の連立方程式は、次のように行列の式に置き換えることができます。
なぜ、置き換えられるかは、行列の式を展開すれば、元の連立方程式の形になるからです。

ここからは、行列を使って計算します。

行列にすることができれば、プログラミング(Python使用)で簡単に計算できるようになります。

$$
{\mathbf M} = \begin{pmatrix}
1 & 1 \\ 150 & 50
\end{pmatrix}
,\,\,\,\,
{\mathbf x} = \begin{pmatrix}
x_1 \\
x_2
\end{pmatrix}
,\,\,\,\,
{\mathbf c} = \begin{pmatrix}
15 \\
1550
\end{pmatrix}
$$

$$\mathbf{Mx}={\mathbf c}$$
そこで逆行列を導入して「x=」の式に直します。
$${\mathbf x} = {\mathbf M}^{-1}{\mathbf c}$$
$${\mathbf M}^{-1}は、Mの逆行列です。$$

ここまで来たら手計算でも良いですが、Pythonの科学計算ライブラリーnumpyを使うと

簡単に行列の計算ができるので活用します

Pythonで行列の計算をする

Pythonでコードを書いてみます。

import numpy as np

#Mの値を設定する
m = np.array([
                            [1,1],
                            [150,50]
                        ])

#Cの値を設定する
c = np.array([
                            [15],
                            [1550]
                        ])

//numpyを使って行列の計算を行う
x = np.dot(np.linalg.inv(m), c)
print(x)

//出力結果
//[[ 8.]
// [ 7.]]


その結果、
$$x_1 = 8$$
$$x_2 = 7$$
になることがわかります。つまり、イチゴが8個、バナナが7個になります。
連立方程式は、倍率かけたり、足したり、引いたりする操作が必要になりますが、

行列が使うと連立方程式が簡単に計算できることが分かると思います!

使えば、他にも行列が使えると座標の移動、座標の回転なども簡単に扱えるため、行列は便利なものと言えます!

評判も見えるPGスクール検索・比較表

どのプログラミングスクールがいいんだろう?
そんな疑問をお持ちの方に、評判も見えるプログラミングスクール検索・一括比較サービスをリリースしました。

条件を指定することにより、気になるプログラミングスクールを一発で比較できます。
きっと、条件にあったスクールが見つかるかと思います!
詳細は、以下の画像をクリック!

プログラミングスクール検索・比較のペン太ブル
スポンサーリンク
PR




PR




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
PR