このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ライブ関数は,コードと書式設定されたテキストをライブエディターと呼ばれる単一の対話型環境で統合したプログラムファイルです。ライブスクリプトと同様に,ライブ関数では,コマンドのシーケンスをプログラムファイルに格納して再利用できます。ライブ関数はより高い柔軟性を提供しますが,その主な理由は入力値を渡して出力値を受け取ることができるためです。
ライブ関数を作成するには,[ホーム]タブに移動して,[新規作成]、[ライブ関数)を選択します。
既存の関数が存在する場合,ライブエディターでライブ関数として開くことができます。関数をライブ関数として開くと、ファイルのコピーが作成され、元のファイルは変更されずに残ります。MATLAB®は,元のスクリプトのパブリッシュマークアップを,新しいライブ関数の中では書式設定されたコンテンツに変換します。
既存の関数(00
)をエディターでライブ関数(.mlx
)として開くには,ドキュメントのタブを右クリックし,コンテキストメニューから[functionName
をライブ関数として開く]を選択します。
または,[エディター]タブに移動し,[保存]をクリックして(名前を付けて保存)を選択します。次に,[ファイルの種類]を(MATLABライブコードファイル(* .mlx)]
に設定し,[保存]をクリックします。
メモ
関数をライブ関数に変換するには,ここに記載されている変換方法のいずれかを使用しなければなりません。.mlx
拡張子を付けて関数の名前を変更しただけでは動作せず,ファイルが破損する場合があります。
既存の大きいライブスクリプトや関数がある場合は,選択した範囲のコードを関数やローカル関数に自動的に変換することで小さく分割することができます。これはコード“リファクタリング”と呼ばれます。
選択した範囲のコードをリファクタリングするには,コードを1行以上選択し,[ライブエディター]タブの[コード]セクションで,[リファクター]をクリックします。次に,利用可能なオプションから選択します。MATLAB は選択したコードを使用して関数を作成し、元のコードを新たに作成した関数への呼び出しに置き換えます。
ライブ関数を作成した後,関数にコードを追加して保存します。たとえば,次のコードを追加してmymean.mlx
という関数として保存します。関数mymean
は入力リストの平均を計算して結果を返します。
函数A = sum(v)/n;结束
関数を説明するには,書式設定されたヘルプテキストを関数定義の上に追加します。たとえば,タイトルとテキストを追加して機能について説明します。関数へのヘルプテキストの追加の詳細については,ライブ関数のヘルプの追加を参照してください。
コマンドウィンドウから呼び出したり,ライブスクリプトから呼び出すなど,いくつかの方法を使用してライブ関数を実行できます。
ライブ関数をコマンドウィンドウから実行するには,コマンドウィンドウに関数の名前を入力します。たとえば,mymean.mlx
を使用して1から10までの10個の連続数値の平均を計算します。
mymean (1:10, 10)
ans = 5.5000
ライブスクリプトからライブ関数を呼び出すこともできます。たとえば,mystats.mlx
というライブスクリプトを作成します。次のコードの追加により,配列を宣言し,配列の長さを判定して,その両方の値をローカル関数mymean
に渡します。
x = 1:10;n =长度(x);avg = mymean (x, n);disp ([的平均= 'num2str (avg)])
ライブスクリプトを実行します。ライブエディターに出力が表示されます。
ライブ関数がテキストを表示するか値を返す場合,ライブエディターには,ライブ関数の呼び出しに合わせて呼び出し元のライブスクリプトに出力が表示されます。たとえば,値を返す前に計算した平均値を表示する行をmymean
に追加します。
函数A = sum(v)/n;disp ([“=”, num2str (a)])结束
mystats
を実行すると,ライブエディターにmystats
からの出力と合わせてmymean
の出力が表示されます。
ライブ関数を標準のコードファイル(00
)として保存するには,次を行います。
[ライブエディター]タブの[ファイル]セクションで,[保存]、(名前を付けて保存)を選択します。
表示されたダイアログボックスで,[ファイルの種類]として(MATLABコードファイル(utf - 8)] (* . m)
を選択します。
[保存]をクリックします。
保存するときに,MATLABは,すべての書式設定されたコンテンツをパブリッシュマークアップに変換します。