きっかけ
家庭教師で連立方程式教えててふとコードを書きたくなりまして、
意外とめんどくさそぉと思いながら書いてみようと思いました。
連立方程式
この方程式って意外と不思議でプログラムだと書きづらい気がします
そこで学部1年だった時
童貞くさい教授「逆行列を使え!」
さすが童貞言うこと違うぜと思い
pythonのnumpyに敬礼をしながら書いてみました!
連立方程式.py
1 # -*- coding: utf-8 -*-
2 import numpy
3
4 '''
5 2(x1)+5(x2)=17
6 5(x1)-2(x2)=-1 の連立方程式を求める
7 '''
8
9 def inver(a1,a2,b1,b2):
10 mat=numpy.matrix([[a1,a2],[b1,b2]])
11 return mat.I
12
13 def ans(con1,con2,inver_mat):
14 con_vec=numpy.matrix([[con1],[con2]])
15 return numpy.dot(inver_mat,con_vec)
16
17 ans_mat=ans(17,-1,inver(2,5,5,-2))
18
19 for index,num in enumerate(ans_mat):
20 print "x{0}={1}".format(index,num)
なんかすげぇ練習のつもりで書いたけど(コードが汚い僕でも)まだ綺麗・・・w
さすがpythonですね。
(ちなみに自分はpythonの"py"っていうところが好きで使い始めました)
ちょっとこれを今度はn次の連立でもできるように実装したいと思いますー