Programming and Data Types | ![]() ![]() |
Function M-ファイルの基本部分
Function M-ファイルには、つぎの内容が含まれています。
Function定義ライン
Function定義ラインは、MATLABにM-ファイルがfunctionで、関数を読み込むときに引数を設定することが必要であることを示します。関数average
に対して、Function定義ラインは、つぎのようになっています。
:
すべてのMATLAB関数は、このパターンに従ってFunction定義ラインをもっています。
Functionが複数の出力引数をもつ場合は、出力引数全体を鍵括弧で囲んで下さい。入力引数が存在する場合、丸括弧で囲んでください。複数の入力や出力引数を分離するには、カンマを使ってください。ちょっと複雑な例を示します。
function [x,y,z] = sphere(theta,phi,rho)
function printresults(x)
function [] = printresults(x)
ユーザがFunctionに渡す変数は、Function定義ラインの中の変数名と同じである必要はありません。
H1ライン
H1ラインは、最初のヘルプテキストラインのためこのように呼ばれ、Function定義ラインのすぐ後に続きます。これは、コメントテキストから成り立っているので、H1ラインは、%
マークで始まります。関数average
に対して、H1ラインは、つぎのようになります。
% AVERAGE ベクトル要素の平均
これは、MATLABプロンプトで、help
function_name
とタイプすると表示されるテキストの最初のラインです。さらに、lookfor
コマンドは、H1ラインのみをサーチし、表示します。このラインは、M-ファイルの概要についての重要な情報を与えるため、できるだけ詳しく記述してください。
ヘルプテキスト
ユーザも、H1ラインで始まり、それに続く1行または複数コマンドラインのテキストを入力することで、ユーザ自身のM-ファイルのオンラインヘルプを作成することができます。関数average
に対するヘルプテキストは、つぎのものです。
% AVERAGE(X)は、ベクトル要素の平均、ここで、X はベクトルです。 % ベクトル以外の入力は、エラーになります。
ユーザが、help function_name
とタイプすると、MATLABはFunction定義ラインとコメント文でない最初のラインの間にあるコメントラインを表示します。ヘルプシステムは、このヘルプブロックの後に表れるコメントラインは無視します。
例えば、help sin
とタイプインすると、つぎの結果を得ます。
SIN Sine. SIN(X) は、X の要素の正弦値を計算
Function本体
Function本体は、計算を実行し、値を出力引数に割り当てるMATLABコードを含んでいます。Function本体の中のステートメントは、functionを呼び、制御文による流れ、会話型の入/出力、計算、代入、コメント、ブランクライン等々のプログラミング構造から作られています。
例えば、関数average
の本体は、2、3の簡単なプログラミングステートメントを含んでいます。
[m,n] = size(x); if (~((m == 1) | (n == 1)) | (m == 1 & n == 1)) % フローのコントロール error('Input must be a vector') % エラーメッセージの表示 end y = sum(x)/length(x); % 計算と代入
コメント
前に記述したように、コメントラインは%
マークで始まります。コメントラインは、M-ファイルの中の任意の位置に設定できます。そして、コードラインの後にも続けることができます。例えば、
% すべてのベクトル要素の和 y = sum(x) % 関数 sum の使用
最初のコメントラインは、function定義ラインのすぐ後に続き、関数に対するH1ラインと考えられます。H1ラインとそれに続くコメントラインは、ファイルについてのオンラインヘルプを構成します。
コメントラインに加え、M-ファイルの任意の位置にブランクラインを挿入できます。しかし、ブランクラインは、M-ファイルに対して、ヘルプテキスト部の最後を示すことができます。
![]() |
Functions | function名 | ![]() |