我有一个类Ellipse
(句柄,继承自其他类),它有一个名为createFromGaussian
的静态方法。它位于一个远程文件夹中,我添加到Matlab路径。
问题是,如果我在创建任何Ellipse对象之前尝试调用静态函数,它就会失败:
>> Ellipse.createFromGaussian(arg1,arg2)
Undefined variable "Ellipse" or class "Ellipse.createFromGaussian".
如果我尝试以下任何一项,它就有效:
从远程目录开始,我事先创建了一个Ellipse对象:
>> Ellipse()
[C=, axis=[0.0,0.0], angle=0.0]
>> Ellipse.createFromGaussian([],2)
这应该是这样吗?错误消息对我来说听起来很奇怪:当然它找不到变量“Ellipse”或类“Ellipse.createFromGaussian”!它应该找到“椭圆”类
答案 0 :(得分:0)
因此,Ellipse classdef文件和函数文件位于名为@Ellipse
的同一文件夹中,@Ellipse
文件夹的PARENT位于路径上?这就是Matlab要求系统工作的原因。
来自ML help:“如果要为类定义使用多个文件,则必须使用@ -folder。在单独文件中定义的方法将文件名与函数名称匹配,并且必须是在classdef文件中声明。“