こまったこと!
①行列の計算方法はわかるが、そもそもどんなときに行列を使うのかわからない!
②行列が使えるとどんなことが嬉しんだよ!
今回は、日常のあるあるから、行列が役立つ例を紹介します。
本記事の流れ:
①日常のあるあるから連立方程式を作る
②連立方程式を行列計算に置き換える
③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個になります。
連立方程式は、倍率かけたり、足したり、引いたりする操作が必要になりますが、
行列が使うと連立方程式が簡単に計算できることが分かると思います!
使えば、他にも行列が使えると座標の移動、座標の回転なども簡単に扱えるため、行列は便利なものと言えます!
\IT未経験者からのサポートあり!転職サービス3選!!/
サービス名 | |||
---|---|---|---|
未経験 | 未経験OK | 未経験の転職専用 | 経験者向け |
公開の求人数 | ITエンジニア全体で1万件以上 ITエンジニア未経験で600件以上 |
未公開 | 5,000件以上 |
利用対象 | 全職種 | IT特化 | IT特化 |
特徴 | ✓誰もが知る転職サービス ✓経歴を登録しておくとオファーが来る |
✓企業担当者と条件交渉 ✓スキルの身につく企業を紹介 |
✓IT専門のエージェントが対応 ✓転職成功すると年収200万円以上の大幅アップがある |
転職サポート内容 |
|
|
|
公式サイト | リクナビネクスト | テックゲート | レバテックキャリア |