自分で関数を作成してみる
既存の関数を組み合わせて、独自に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組の命令を繰り返し実行するプログラムに書き換える。