LoginSignup
7
7

More than 5 years have passed since last update.

就活でMATLABを使おう

Last updated at Posted at 2015-12-01

 皆さん,MATLABしてますか??研究で趣味で,MATLABはとっても良いツールですよね! 変数のインデックスが1から始まるところ以外は.

 こんなに素晴らしいMATLABは,就活にだって存分にその能力を発揮できちゃうんです!
 実際に,私の就活のときに役に立った例をご紹介します.

問題例

 以下に示すのは,あるテーマパークの来場者数と飲料の販売量に関するデータである.7月における飲料の販売量を概算せよ.

来場者数 [千人] 最高気温 [度] 最低気温 [度] 飲料の販売量 [l]
4月 402 23.8 6.3 260.5
5月 492 31.6 11.2 325
6月 286 33.0 17.7 225.5
7月 195 35.6 20.1 ?

(上記のデータは架空のものです)

 どこの会社の就活だったかは忘れました.
 ただ,世界にその名を轟かせる超大企業のどこかだったと思います.
 この会社は,こんな問題をバンバン出して来て,MATLABで解いてもギリギリの時間配分でした.とても手計算じゃ間に合わない.むしろこうすることで,計算ツールを使いこなせる人間だけを抽出しようとしている可能性があると感じました.

解き方

 テキトーに仮説を立て,方程式を作ります.
 今回は,飲料の販売量が来場者と最高気温と最低気温の関数になっているという仮説を立て,来場者をx,最高気温をy,最低気温をz,飲料の販売量をkとして, ax+by+cz=k と方程式を作りました.4月の場合をあてはめると, 402a + 23.8b + 6.3c = 260.5 になります.ここで,明らかになっている4,5,6月の販売データから,a,b,cの係数を算出できれば,7月の飲料の販売量も算出できるはずです.
 さて,4,5,6月の方程式を並べると,以下の行列式ができます.
eq1

 線形代数でやったような気がしますね.左端の大きな行列をA,abcの行列をx,右端の行列をbと置くと, Ax=bとなり,xを求める場合には,両辺に A^-1 を前からかけて, A^-1 Ax = A^-1 b として, x = A^-1 b とすることで,Aの逆行列とbのかけ算の形にして解くんでした.
eq2

MATLABによる回答例

 まず,以下のようにAとbの行列を入力します.

MATLAB.in1
>> A = [[402 23.8 6.3];[492 31.6 11.2];[286 33.0 17.7]]

A =
  402.0000   23.8000    6.3000
  492.0000   31.6000   11.2000
  286.0000   33.0000   17.7000

>> b = [260.5;325;225.5;231.5]

b =
  260.5000
  325.0000
  225.5000

 そして, x = A^-1 b は, A\bと入力します.すると,a,b,cに対応した係数が計算できます.

MATLAB.in2
>> A\b

ans =
    0.5000
    2.5000
    0.0000

 計算結果は以上のようになり,来場者数の0.5倍と最高気温の2.5倍と関係した係数が算出されました.結果によると,最低気温については,飲料の販売数とは全く関係しないということが分かりました.この係数を使用すると,7月の飲料の販売数は, 195*0.5 + 35.6*2.5 + 20.1*0.0 で,186.5と試算できます.

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7