在单独的文件中编写MATLAB类

时间:2014-01-22 16:20:50

标签: matlab oop

提出这样的问题并不是什么新鲜事。因为我花了几个小时阅读文档和可用的示例。但是尴尬的是,MATLAB似乎不接受我的代码。所以,我感到很困惑

classdef testclass

    %UNTITLED Summary of this class goes here
    %   Detailed explanation goes here

    properties
        a =3;
        b =4;
    end

    methods

        function obj = testclass(a_inp, b_inp) % 
            obj.a = a_inp;
            obj.b = b_inp;
        end

        output = plus(obj)

        output = minus(obj)
    end

end

和功能

function output = minus(obj)

output = obj.a-obj.b;
end

我认为这是一个典型的测试。但是当我初始化类时,会出现这个错误

Error using testclass
Too many input arguments.

Error in class_call (line 2)
myclass = testclass(3,4    );

我通过myclass = testclass(3,4)创建类;

我的代码可能有什么问题?请帮助!我被卡住了!

1 个答案:

答案 0 :(得分:1)

您拥有的代码是正确的。正如@ horchler所说,你只需要将所有文件包括类定义放在@testclass目录中。如果没有此目录,则无法为类创建单独的文件。

您尝试实例化该类的代码也应该在@testclass目录之外正常工作。只有在未将文件放在@testclass目录中时,才会在调用方法加或减时收到错误。