2016-06-15 23 views
2

最新のMATLABリリースで関数dtwを使用していて、その一部を調整したいと思います。開始するには、私は、型付き:MATLABの未定義関数

edit dtw 

を私はdtw_Copy.mというファイルに結果のコードを保存し、同様にdtw_Copyに関数の名前を変更しました。タイプの入力引数の

未定義関数「getmutexclopt」:私はエラーメッセージを表示する

[metric, varargin] = getmutexclopt({'absolute','euclidean','squared','symmkl'},'euclidean',varargin); 

:入力のセットと線によってコードラインを通過する線90の周りに、xyパラメータ'細胞'。

私は線でコード行を通過し、単にdtw_Current(x,y)を入力しない場合、私はまた再び入力パラメータxyのセットをテストした後、このエラーメッセージが表示されます。ランニング時に

は:

help 'getmutexclopt' 

getmutexcloptが発見されていないことが示されています。私も試しました:

edit 'getmutexclopt' 

しかし、currentDirectory/getmutexcloptm.mは存在しないと言われます。

私が試した:

which getmutexclopt 

そしてgetmutexcloptが発見されていないことを聞いていますが。

オンラインで検索すると、エラーが発生しました。このエラーが発生したのは、a resource that seemed straight-forwardです。リソースは、ツールボックスがインストールされていることを確認することを推奨します。どのツールボックスが機能getmutexcloptをサポートしているのかは不明ですので、websiteに関数名を入力します。この結果、「あなたの検索結果はgetmutexcloptではありませんでした。」というメッセージが表示されます。

リソースには、関数へのアクセスに使用されたパスの検証も推奨されます。私はそうする指示に従った、と私はタイプされたとき:

which -all getmutexclopt 

私が受け取る:

currentDirectory\matlab\toolbox\signal\signal\private\getmutexclopt.m % Private to signal 

これは、関数がプライベートである信号ツールボックス、であることを示しているようですか? dtw_Current(x,y)を実行したり、内容を1行ずつ実行したりする可能性はありますか?

+0

ここで 'dtw_Current'を保存しましたか? [Private functions](http://www.mathworks.com/help/matlab/matlab_prog/private-functions.html)は、プライベートサブフォルダのすぐ上にあるフォルダ内の関数に対してのみ使用できます。 – excaza

答えて

1

はい、この問題は、getmutexcloptの機能がprivate functionであるためです。 dtwのコピーから安全に呼び出すことを望む場合は、その関数のコピーを作成する必要があります。基本的な機能(コマンドウィンドウにedit private/getmutexclopt.mと入力)のように表示されますので、サブ機能としてdtw_Copy/dtw_Currentに追加することができます。

も参照this question - 検索パスにプライベート関数を追加することはできません。