2

我有一个类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”!它应该找到“椭圆”类

4

1 回答 1

0

那么 Ellipse classdef 文件和函数文件在同一个名为 的文件夹中@Ellipse,并且该文件夹的 PARENT@Ellipse在路径上?这就是 Matlab 系统工作所需要的。

来自ML 帮助:“如果要为类定义使用多个文件,则必须使用 @-folder。在单独文件中定义的方法将文件名与函数名匹配,并且必须在 classdef 文件中声明。 "

于 2013-02-21T15:21:34.437 回答