みんな
Matlab で @folder を処理する際に問題があります。
@folder が含まれている親フォルダーのパスを追加しました。しかし、それでも @folder の関数を使用できませんでした。つまり、たとえば、ttt.m という関数を直接呼び出すと、次のようになります。
ttt(引数)
戻り値: 未定義の関数または変数。
しかし、ヘルプコマンドを使用してそれを見ると、うまくいきます:
助けて
ttt関数の情報を返します
ここで何が起こっているのかわかりません。助けてください。
これらのフォルダーには、カスタム クラスのコードまたは既存の型のオーバーライドが含まれています。それらをパスに配置したり、直接使用したりするのではなく、クラスを介して使用します。
1 つのクラス定義に複数のファイルを使用する場合は、このタイプのフォルダーを使用します。... @ フォルダーはパス フォルダーに含まれている必要がありますが、それ自体は MATLAB パス上にありません。クラス定義ファイルを @ フォルダー内に配置します。このフォルダーには、別のメソッド ファイルを含めることもできます。クラス定義ファイルは、@ フォルダーと同じ名前 (@ 記号を除く) である必要があり、クラス定義 (classdef キーワードで始まる) は、他のコードよりも前にファイル内に存在する必要があります (空白やコメントは構成要素ではありません)。コード)。
これは、クラスを定義する元の方法です。新しい方法は、すべてを 1 つのファイルに収めることです。 ここでは、2 つの方法について説明します。
EDIT : 問題のメソッドがStaticの場合、インスタンスは必要ありません。それ以外の場合は、クラスのインスタンスを作成する必要があります。静的メソッドの詳細と、クラスをインスタンス化してメソッドを呼び出す例については、こちらを参照してください。メソッドの呼び出し方法に関する詳細な説明は、MATLAB OOP のドキュメントにあります。