我有一個類Ellipse
(句柄,繼承自其他類),它有一個靜態方法createFromGaussian
。它位於遠程文件夾中,我將其添加到Matlab路徑。 的事情是,如果我嘗試調用靜態函數之前創建的任何橢圓形物體,它失敗:Matlab 2012a,靜態方法調用,不識別當前文件夾外的類
>> Ellipse.createFromGaussian(arg1,arg2)
Undefined variable "Ellipse" or class "Ellipse.createFromGaussian".
它的工作原理,如果我嘗試以下任何事情:
- 我改變目前的目錄於其中Ellipse.m文件位於
從遠程目錄工作,予預先創建橢圓對象:
>> Ellipse() [C=, axis=[0.0,0.0], angle=0.0] >> Ellipse.createFromGaussian([],2)
這應該是這樣嗎?錯誤消息聽起來很奇怪:當然,它找不到變量「Ellipse」或類「Ellipse.createFromGaussian」!它應該找到「橢圓」類
Matlab的oop模型有點奇怪,它正在發展。你可能已經發現了某種附帶案例。 Mathworks可能會意識到這個小怪事。將類和它的靜態函數作爲你導入的包的一部分,看看會發生什麼,這可能會很有趣。 – learnvst 2013-02-21 01:25:24
我剛剛發現,如果我將這些類安排到不同的文件夾層次結構中,它就可以工作。當然,這肯定是某種內部錯誤。我會嘗試你的建議,創建一個包(huuuuuge懶惰,這麼多軟件來重做......)。 馬上回來,結果:-) – dunadar 2013-02-21 09:59:50