Main Content

ライブ関数の作成

ライブ関数は、コードと書式設定されたテキストをライブ エディターと呼ばれる単一の対話型環境で統合したプログラム ファイルです。ライブ スクリプトと同様に、ライブ関数では、コマンドのシーケンスをプログラム ファイルに格納して再利用できます。ライブ関数はより高い柔軟性を提供しますが、その主な理由は入力値を渡して出力値を受け取ることができるためです。

ライブ関数の作成

ライブ関数を作成するには、[ホーム] タブに移動して、[新規][ライブ関数] を選択します。

既存の関数をライブ関数として開く

既存の関数が存在する場合、ライブ エディターでライブ関数として開くことができます。関数をライブ関数として開くと、ファイルのコピーが作成され、元のファイルは変更されずに残ります。MATLAB® は、元のスクリプトのパブリッシュ マークアップを、新しいライブ関数の中では書式設定されたコンテンツに変換します。

既存の関数 (.m) をエディターでライブ関数 (.mlx) として開くには、ドキュメントのタブを右クリックし、コンテキスト メニューから [functionName をライブ関数として開く] を選択します。

または、[エディター] タブに移動し、[保存] をクリックして [名前を付けて保存] を選択します。次に、[ファイルの種類][MATLAB ライブ コード ファイル (*.mlx)] に設定し、[保存] をクリックします。

メモ

関数をライブ関数に変換するには、ここに記載されている変換方法のいずれかを使用しなければなりません。.mlx 拡張子を付けて関数の名前を変更しただけでは動作せず、ファイルが破損する場合があります。

選択されたコードからのライブ関数の作成

既存の大きいライブ スクリプトや関数がある場合は、選択した範囲のコードを関数やローカル関数に自動的に変換することで小さく分割することができます。これはコード "リファクタリング" と呼ばれます。

選択した範囲のコードをリファクタリングするには、コードを 1 行以上選択し、[ライブ エディター] タブの [コード] セクションで、 [リファクター] をクリックします。次に、利用可能なオプションから選択します。MATLAB は選択したコードを使用して関数を作成し、元のコードを新たに作成した関数への呼び出しに置き換えます。

コードの追加

ライブ関数を作成した後、関数にコードを追加して保存します。たとえば、次のコードを追加して mymean.mlx という関数として保存します。関数 mymean は入力リストの平均を計算して結果を返します。

function a = mymean(v,n)    
    a = sum(v)/n;
end

ヘルプの追加

関数を説明するには、書式設定されたヘルプ テキストを関数定義の上に追加します。たとえば、タイトルとテキストを追加して機能について説明します。関数へのヘルプ テキストの追加の詳細については、ライブ関数のヘルプの追加を参照してください。

mymean live function with a title, descriptive text, and code

ライブ関数の実行

コマンド ウィンドウから呼び出したり、ライブ スクリプトから呼び出すなど、いくつかの方法を使用してライブ関数を実行できます。MATLAB Online™ では、 [実行] ボタンを使用することもできます。

ライブ関数をコマンド ウィンドウから実行するには、コマンド ウィンドウに関数の名前を入力します。たとえば、mymean.mlx を使用して 1 から 10 までの 10 個の連続数値の平均を計算します。

mymean(1:10, 10)
ans =
    5.5000

ライブ スクリプトからライブ関数を呼び出すこともできます。たとえば、mystats.mlx というライブ スクリプトを作成します。次のコードの追加により、配列を宣言し、配列の長さを判定して、その両方の値をローカル関数 mymean に渡します。

x = 1:10;
n = length(x);
avg = mymean(x,n);
disp(['Average = ', num2str(avg)])

ライブ スクリプトを実行します。ライブ エディターに出力が表示されます。

Live script with the output of mymean to the right of the disp statement used to display it

ライブ関数がテキストを表示するか値を返す場合、ライブ エディターには、ライブ関数の呼び出しに合わせて呼び出し元のライブ スクリプトに出力が表示されます。たとえば、値を返す前に計算した平均値を表示する行を mymean に追加します。

function a = mymean(v,n)
    a = sum(v)/n;
    disp(['a = ', num2str(a)])
end
mystats を実行すると、ライブ エディターに mystats からの出力と合わせて mymean の出力が表示されます。

Live script with the output from mymean displayed to the right of the call to mymean, and again to the right of the disp statement used to display it

MATLAB Online では、 [実行] ボタンを使用してライブ関数を対話的に実行できます。 [実行] ボタンを使用してライブ関数を実行すると、出力はコマンド ウィンドウに表示されます。入力引数値またはその他の追加設定が必要なライブ関数を実行するには、[実行] drop-down arrow をクリックし、1 つ以上のコマンドを追加して、 [実行] ボタンを構成します。 [実行] ボタンの構成の詳細については、関数用の [実行] ボタンの構成を参照してください。

ライブ関数を標準コードとして保存

ライブ関数を標準のコード ファイル (.m) として保存するには、次を行います。

  1. [ライブ エディター] タブの [ファイル] セクションで、[保存][名前を付けて保存] を選択します。

  2. 表示されたダイアログ ボックスで、[ファイルの種類] として [MATLAB コード ファイル (UTF-8) (*.m)] を選択します。

  3. [保存] をクリックします。

保存するときに、MATLAB は、すべての書式設定されたコンテンツをパブリッシュ マークアップに変換します。

関連するトピック