0

このエラーはMATLABで何を意味しますか?2つの入力画像(画像はtif形式、浮動小数点、32ビット、サイズは(5165,11945,7))を使用してコマンドウィンドウで関数を実行すると、matlabに次のエラーメッセージが表示されます。

Undefined function or method (name of input image) for input arguments of type double

一部の人々は、それは異なるworikingディレクトリのためであると言いました。しかし、これまでのところ、matlab()には作業ディレクトリが1つしかありませんc:\User\user\Documents\MATLAB\。私のすべての画像がその中にあります。現在のディレクターアイコンのファイルリストのmatlab画面でそれらを見ることができます。このエラーがどこから来たのか、私は本当に混乱しています。誰かが私を助けてくれることを願っています。

4

1 に答える 1

1

Matlabは、ベクトル/行列のインデックス付けに角括弧の代わりに括弧を使用するため、同じ名前の変数と関数を区別できません。たとえば、Javaでは、両方の名前の配列と関数がある場合、次のようfooに配列の値にアクセスします。

foo[index];

そして、次のように関数を呼び出します。

foo(parameter);

ただし、MATLABでは、ベクトルへのインデックス作成fooと関数の呼び出しfooはどちらも同じ構文を使用して行われます。

foo(someValue);

この混乱のため、Matlabは最初にすべての呼び出しが変数に対するものであると想定します。指定された名前の変数が存在しない場合、同じ名前の関数を見つけようとします。

あなたのエラー:

double型の入力引数の未定義の関数またはメソッドVariableName 。

Matlabがあなたが。という名前の関数を呼び出そうとしていると考えていることを示しますVariableName。これは2つのことを意味します:

  1. 名前の付いた変数はありませんVariableName
  2. matlabパスに名前が付けられた関数はありません。VariableName

この問題を修正するには、最初に、変数にインデックスを付けようとしているのか、関数を呼び出しようとしているのかを判断します。次に、その変数が存在するか、関数がパス上にあることを確認します。

于 2012-11-20T14:08:13.290 に答える