関数がどの Toolbox で提供されているかを​調べるにはどうすれば​よいですか?

225 次查看(过去 30 天)
MATLAB の プログラムを別々のライセンスを持つ複数人で使用することを検討しています。
そのため、プログラム内で使用されている関数がどの Toolbox に含まれるのか確認したいのですが、その方法を教えてください。

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2023-11-27
次のいずれかの方法で、関数がどのToolbox で提供されているかを調べることができます。
1. ファイルに含まれる関数を一度に調べる場合 (※いずれもToolbox がインストールされている場合)
   1) license 関数による方法
   2) matlab.codetools.requiredFilesAndProducts 関数による方法
   3) 依存関係アナライザー(旧依存関係レポ―ト)による方法
2. 関数を1つずつ調べる場合
   1) which コマンド による方法 (※Toolbox がインストールされている場合)
   2) Web のドキュメンテーションによる検索
それぞれの方法について説明します。
1. ファイルに含まれる関数を一度に調べる場合
1) license 関数による方法(※Toolbox がインストールされている場合)
MATLAB を起動し、ライセンスを確認したい MATLAB プログラムを実行後、以下のコマンドを実行します。
>> license('inuse')
上記コマンドを実行すると、MATLAB 起動後から、license コマンド実行までに使用されたライセンス製品がコマンドウィンドウ上に表示されます。
なお、この際表示される製品名は、正式名称でない場合もありますのでご注意ください。例えば、次のようなものがあります。
表示名 正式名
-------------------------------------------------
control_toolbox Control System Toolbox
image_toolbox Image Processing Toolbox
signal_toolbox Signal Processing Toolbox
(補足)
この方法では、Simulink モデルに含まれるブロックがどの Blockset に含まれるかを確認することも可能です。
2) matlab.codetools.requiredFilesAndProducts 関数による方法
この関数では、指定されたファイルの実行に必要となる、MATLAB プログラムのリスト、および MathWorks 製品名のリストを出力します。
例えば、以下のように Image Processing Toolbox の関数 edge に必要となるファイルと製品を判別します。
>> [fList,pList] = matlab.codetools.requiredFilesAndProducts('edge.m')
fList =
  0×0 の空の cell 配列
pList = 
  フィールドをもつ 1×2 struct 配列:
    Name
    Version
    ProductNumber
    Certain
fList は空のため、必要となるファイルリストはありませんが、pList には 1x2 の構造体が出力されており、必要となる可能性のある製品が 2 つあることを示します。
詳細は、以下のように確認することができます。
>> [{pList.Name}', {pList.Certain}']
ans =
  2×2 cell 配列
    'MATLAB'                      [1]
    'Image Processing Toolbox'    [1]
Name フィールドには必要となる製品名、Certain フィールドには、その必要性を示す値が出力されます。"1" の場合は、「必須」、"0" の場合は「必要な可能性がある」ことを示します。
今回の場合であれば、MATLAB と Image Processing Toolbox が必須です。
3) 依存関係アナライザー(旧依存関係レポート)による方法 (※Toolbox がインストールされている場合)
R2023a 以降のリリース:
依存関係アナライザーを使用して、依存関係を解析します。起動するには、[アプリ] タブに移動し、[MATLAB] で [依存関係アナライザー] アイコンを選択します。
実行に必要となる製品は、"製品" の欄に表示されます。詳細については、以下の URL のページをご覧ください。
・フォルダー内での依存関係
R2022b 以前のリリース:
カレントディレクトリの「依存関係レポート(Dependency Report)機能」を使用し、MATLAB プログラムから呼び出されている関数のインストールディレクトリが表示され、どの製品に含まれているか、確認できます。
詳細は、以下の URL のページをご覧ください。
・フォルダー内での依存関係
2.関数を1つずつ調べる場合
1) which コマンド による方法 (※Toolbox がインストールされている場合)
which コマンドにより、関数を定義しているファイルのパスを確認することで、関数がどのToolboxで提供されているかを確認することができます。
例えば、関数tf について調べる場合、"tf"を引数として、whichコマンドを実行します。
>> which tf
C:\Program Files\MATLAB\R2006a\toolbox\control\control\@tf\tf.m % tf constructor
※ Control System Toolbox がインストールされている場合の実行例です。
結果より、<MATLAB インストールディレクトリ>\toolbox\control 内のフォルダに関数が定義されていることから、関数 tf がControl System Toolbox の関数であることが分かります。
※ 主なToolbox とインストールフォルダの対応
matlab MATLAB標準
control Control System Toolbox
ident System Identification Toolbox
signal Signal Processing Toolbox
comm Communications Toolbox
optim Optimization Toolbox
stats Statistics Toolbox
なお、入力変数のデータタイプにより実行するファイルが異なる場合には、同じ関数名に対して複数の定義ファイルがある場合があります。 which コマンドは、特にオプションをつけない場合、最優先の関数定義に関するファイルパスのみを表示しますので、すべての定義先を確認したい場合には、-all オプションをつけて whichコマンドを実行します。
>> which -all tf
C:\Program Files\MATLAB\R2006a\toolbox\control\control\@tf\tf.m % tf constructor
C:\Program Files\MATLAB\R2006a\toolbox\control\control\@lti\tf.m % lti method
C:\Program Files\MATLAB\R2006a\toolbox\ident\ident\@idmodel\tf.m % idmodel method
C:\Program Files\MATLAB\R2006a\toolbox\ident\ident\@idfrd\tf.m % idfrd method
Control System Toolbox と System Identification Toolbox がインストールされている場合の実行結果です。
2) Web のドキュメンテーションによる検索
MATLAB およびオプション製品のドキュメンテーションが以下の URL からご覧いただけます。
画面右上の検索部分で、関数名を検索していただくことが可能です。
● MATLAB ドキュメンテーション
また、各製品のドキュメントでは、その製品に含まれる関数リストが提供されています。
例えば、MATLAB では以下の URL にてご覧いただけます。
・MATLAB 関数(アルファベット順)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 プラットフォームとライセンス 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!