2

と呼ばれる1つの静的メソッドを持つクラスEllipse(ハンドル、他のクラスから継承)がありますcreateFromGaussian。これは、Matlab パスに追加するリモート フォルダーにあります。問題は、Ellipse オブジェクトを作成する前に静的関数を呼び出そうとすると、失敗することです。

>> Ellipse.createFromGaussian(arg1,arg2)
Undefined variable "Ellipse" or class "Ellipse.createFromGaussian".

次のいずれかを試してみるとうまくいきます。

  • 現在のディレクトリを Ellipse.m ファイルがあるディレクトリに変更します
  • リモート ディレクトリから作業して、事前に Ellipse オブジェクトを作成します。

    >> Ellipse()
    [C=, axis=[0.0,0.0], angle=0.0]        
    >> Ellipse.createFromGaussian([],2)
    

これは、こうあるべきなのだろうか?エラーメッセージは奇妙に聞こえます。もちろん、変数「Ellipse」またはクラス「Ellipse.createFromGaussian」が見つかりません! 「Ellipse」クラスが見つかるはずです

4

1 に答える 1

0

Ellipse classdef ファイルと関数ファイルは という同じフォルダー@Ellipseにあり、そのフォルダーの PARENT は@Ellipseパス上にありますか? これは、システムが機能するために Matlab が必要とするものです。

ML ヘルプから:「クラス定義に複数のファイルを使用する場合は、@ フォルダーを使用する必要があります。個別のファイルで定義されたメソッドは、ファイル名と関数名を一致させ、classdef ファイルで宣言する必要があります。 "

于 2013-02-21T15:21:34.437 に答える