MATLAB: 関数 m ファイル の使い方
informatics/matlab/m_file_function
8-3-2017 updated
- 概要: 関数 m ファイルとは
- 実例 1: 返り値のある関数
広告
概要: 関数 m ファイルとは
MATLAB では、通常複数のコマンドから成る一連の操作を 拡張子 .m をもつファイルに書きこんで、そのファイル名をコマンドとして使用できる (1)。Shell script の sh ファイルのようなものである。このファイルを
スクリプト m ファイル (Script m file)
複数のコマンドが書き込まれた、いわばメインのプログラムである。
関数 m ファイル(function m file)
他のコマンド (通常はスクリプト m ファイルに書かれたコマンド) に従って特定の計算を行い、その結果を返す関数が書き込まれた m ファイルのこと。function という宣言から始まる。
行いたい一連の操作の中で、同じ計算が何度も出てくる場合は、その部分を別のファイルにして参照する形にした方が便利である。関数 m ファイルはこのような場合に使われる。
m file には、いくつか使用上の注意点がある (1)。
- m file でスクリプトが長くなって改行したいときは、行末にピリオドを 3 つつける。
- 同じ名前の複数の m file があると、干渉してエラーになる。
実例 1: 返り値のある関数
文献 2 には、2 つの数 a と b が与えられたときに、それらの四則演算を行う calc_4patterns という関数が例として挙げられている。これを少し改変して、3 つの変数 a, b, c に対してその和および積を計算する関数を書いて実行してみる。
result_add=a+b+c;
result_multi=a*b*b;
これを calc_three.m として保存し、コマンドウィンドウで以下のように実行する。
[result_add,result_multi] = calc_three(a,b,c)
result_add = 9、result_multi = 18 という結果が返ってくるはずである。
ここで、result_add および result_multi は、
[answer1, answer2] = calc_three(a,b,c)
とすれば、answer1 = 9、answer2 = 18 という答えが返ってくる。
一般化
以上を一般化すると、次のようになる。まず、
function [引数 (計算のために入力する数) を含む式] = ファイル名と同一の関数名 (引数1, 引数2...)
式の詳細;
という形で m ファイルを定義する。次に、
[答え1, 答え2] = 関数名 (引数)
とすれば、計算の結果を得ることができる。
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。
References
- 小林 2014a. 最新 MATLAB ハンドブック 第五版. 秀和システム.
- MATLAB-Sample 関数を定義する. Link.