5,603 views
この記事は最終更新から 1978日 が経過しています。
1. やりたいこと
Octave言語で書いたプログラムをファイルに保存し、これを Octaveのコマンドライン上で実行したい。
Octaveのプログラムファイルの拡張子は .m と決められている。
2. やってみる!
(1) ただ Hello! と表示するだけ
こんなスクリプトを書き SayHello.m としてファイル保存した。
Octaveのコマンドライン上で SayHello関数を実行してみる!
プログラムに書いた通りに Hello! と表示された。
(2) 足し算の結果を表示する
こんなスクリプトを書き AddFunction.m としてファイル保存した。
上記(1)との違いは、関数への入力として a, bの 2個の引数を渡していること。
Octaveのコマンドライン上で AddFunction関数を実行してみる!
プログラムに書いた通りに計算結果が表示された。
(3) 足し算の結果を返す
こんなスクリプトを書き AddFunction_Ret.m としてファイル保存した。
上記(2)との違いは、計算した結果を表示するのではなく、関数の戻り値として返すこと。
Octaveのコマンドライン上で AddFunction_Ret関数を実行してみる!
プログラムに書いた通りに、計算結果が戻り値を格納する変数 retに出力されていた。
(4) 足し算と引き算の結果を返す
こんなスクリプトを書き AddSub.m としてファイル保存した。
上記(3)との違いは、関数の戻り値として足し算の結果に加えて、引き算の結果も返すこと。
Octaveのコマンドライン上で AddSub関数を実行してみる!
プログラムに書いた通りに、計算結果が戻り値を格納する変数 aと sに出力されていた。
【疑問】 c, dに値が格納されているのだから、関数の呼び出し元は c, dを見ればいいんじゃないの?
→ ダメです。
c, dは AddSub関数の内部でのみ使える変数であり、関数終了時に寿命が切れてしまいます。
よって、AddSub関数の呼び出し元(この場合はコマンドライン上)で戻り値を受け取る変数を用意する必要があります。