ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

関数のファイルでの作成

この例では、関数をプログラム ファイルで作成する方法を説明します。

関数の記述

ファイルをテキスト エディターで開きます。ファイル内で、関数を宣言してプログラム ステートメントを追加します。

function f = fact(n)
f = prod(1:n);

関数 fact は単一の入力引数 n を受け取り、n の階乗を出力引数 f で返します。

定義ステートメントは、関数の実行可能な最初の行です。関数定義は、コマンド ラインまたはスクリプト内では有効ではありません。各関数定義には、次の要素が含まれています。

function キーワード (必須)

キーワードには小文字を使用します。

出力引数 (オプション)

関数が複数の出力を返す場合、出力名を次のように角かっこで囲みます。

function [one,two,three] = myfunction(x)

出力がない、または出力を省略する場合、

function myfunction(x)

または、空の角かっこを使用します。

function [] = myfunction(x)

関数名 (必須)

有効な関数名は、変数名の規則に準拠します。名前は文字で始まり、文字、数字、アンダースコアの組み合わせを使用できます。

    メモ:   混乱を避けるため、ファイル名とファイル内の最初の関数は同じ名前にします。MATLAB® はプログラムを関数名ではなく、"ファイル名" に関連付けます。

入力引数 (オプション)

関数が何らかの入力を受け取る場合、関数名の後にそれらの引数名をかっこで囲みます。入力は、次のようにコンマで区切ります。

function y = myfunction(one,two,three)

入力がない場合、かっこを省略できます。

    ヒント:   複数の入力または出力引数を指定して関数を定義する場合、必須引数を最初にリストします。これにより、オプションの引数を指定せずに関数を呼び出すことができます。

関数の本体には、有効な MATLAB 式、制御フロー ステートメント、コメント、空行、入れ子関数を含めることができます。関数内に作成した変数は、ベース ワークスペースとは別の、その関数に固有のワークスペース内に格納されます。

関数は、end ステートメント、ファイルの終了または別の関数の定義行のいずれかが来たら終了します。end ステートメントは、ファイル内の関数に入れ子関数 (親関数に完全に含まれている関数) が含まれている場合にのみ必要です。

プログラム ファイルには複数の関数を含めることができます。最初の関数がメイン関数で、MATLAB がファイル名と関連付ける関数です。入れ子形式でないそれ以降の関数は、"ローカル" 関数と呼ばれます。ローカル関数は、同じファイル内の別の関数でのみ使用できます。

ファイルの保存

ファイル (この例では fact.m) を現在のフォルダーまたは MATLAB 検索パス上にあるフォルダーに保存します。MATLAB はこれらの特定の場所でプログラムを検索します。

関数の呼び出し

MATLAB でインストールされた呼び出し関数に適用される構文規則を使用して、コマンド ラインから新しい関数 fact を呼び出して 5! を計算します。

x = 5;
y = fact(x);

関数に渡す変数は、関数定義行の引数名と同じである必要はありません。

参考

| | | |

関連する例

詳細

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