関数の作成

  • by


自分で関数を作成してみる
既存の関数を組み合わせて、独自にBMIの計算結果を集計する関数を作る。最初にMATLABウィンドウのホームタブにある「新規スクリプト」をクリックして、新しいエディターウィンドウを開く。

プログラムの始めには、functionと書いて関数であることをMATLABに伝える必要がある。続けて半角空け、関数の名前とパラメータを指定する。ここでは、BodyMassIndex( )という名前を宣言し、受け取った配列変数をdataに入れるようにした。

function BodyMassIndex(data)

次に、先ほど作ったBMIを求める2行の式をコピーしてきて以下の作業を行う。

  • 結果はbmiという変数(名称は任意・既存の関数名と被らないもの)に代入するよう変更する。
  • arrayを受け取って先ほど設定したdata変数に移すので、arrayをdataに書き換える。
  • 2行目は、先ほどAだった変数をresultに変更する。
  • このセットをコピーして残り4名分入力する。
  • BodyMassIndex.mという名前で保存する。
bmi = data(1,1)/(data(2,1)/100)^2;
fprintf(1, 'Aさん: %.1f  \n', bmi);

bmi = data(1,2)/(data(2,2)/100)^2;
fprintf(1, 'Bさん: %.1f \n', bmi);

bmi = data(1,3)/(data(2,3)/100)^2;
fprintf(1, 'Cさん: %.1f \n', bmi);

bmi = data(1,4)/(data(2,4)/100)^2;
fprintf(1, 'Dさん: %.1f \n', bmi);

bmi = data(1,5)/(data(2,5)/100)^2;
fprintf(1, 'Eさん: %.1f \n', bmi);

ここで、 関数BodyMassIndex( )をマンドウィンドウで実行してみる。このとき( )には読み込む配列変数arrayを指定しておく。

>> BodyMassIndex(array)
Aさん: 23.0
Bさん: 18.4
Cさん: 22.0
Dさん: 27.0
Eさん: 23.8

作成した関数の保存
エディターウィンドウのホームタブにある「保存」をクリックして、始めに宣言した関数名(BodyMassIndex.m)でファイルを保存する。

プログラムは上から順に実行される。このプログラムは1試行毎に命令を書いているので、数が多くなるほど記述が大変になりミスも起きやすくなる。次回は、そのような問題を解消するため、ループ処理して1組の命令を繰り返し実行するプログラムに書き換える。