ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

スクリプトと関数

このトピックではスクリプトと関数の違いおよびスクリプトを関数に変換する方法について説明します。

プログラム ファイルには、MATLAB® の一連のステートメントを単に実行するだけの"スクリプト" と、入力引数を受け取って出力を生成する "関数" があります。スクリプトと関数は両方とも MATLAB コードを含み、.m 拡張子の付いたテキスト ファイル形式で格納されています。ただし、関数の方がより柔軟で簡単に拡張できます。

たとえば、三角領域を計算する triarea.m というファイルに次のようなスクリプトを作成します。

b = 5;
h = 3;
a = 0.5*(b.* h)

ファイルの保存後、スクリプトをコマンド ラインから呼び出すことができます。

triarea
a =
    7.5000

同じスクリプトを使って別の三角領域を計算するには、bh の値をスクリプトで更新してスクリプトを再実行します。スクリプトを実行するたびに、結果がベース ワークスペースにある a という変数に格納されます。

ただし、毎回スクリプトを手動で更新する代わりに、スクリプトを関数に変換してプログラムをより柔軟にすることができます。値を bh に代入するステートメントを関数宣言ステートメントに置き換えます。宣言には、function キーワード、入力および出力引数名、関数名が含まれます。

function a = triarea(b,h)
a = 0.5*(b.* h);

ファイルを保存したら、スクリプトを変更せずにコマンド ラインからさまざまな基準値と高さの値を指定して関数を呼び出せます。

a1 = triarea(1,5)
a2 = triarea(2,10)
a3 = triarea(3,6)
a1 =
    2.5000
a2 =
    10
a3 =
     9

関数は、ベース ワークスペースとは別の、独自のワークスペースをもっています。そのため、関数 triarea への呼び出しによってベース ワークスペースにある a 値が上書きされることはありません。その代わり、関数は結果を変数 a1a2 および a3 に割り当てます。

関連する例

詳細

この情報は役に立ちましたか?