如何在classdef matlab中调用函数

时间:2014-04-16 16:42:59

标签: matlab function class oop object

我有一个类和一个函数,我想把函数放在一个只想在另一个类中调用整个的函数,但它在调用时给出了一定的错误,是否可以调用函数而不在类中调用它构造函数?我目前在类构造函数中调用,但其他可能的方式更有可能。 func中需要五个参数,如何将该函数设为类?

我也在构造函数中尝试过,而输入参数给出了obj.arg1=arg1; 我的代码:

classdef myClass
        properties 
            node;
        end
        properties (Access=private)

        end
        methods
        function obj = myClass()

        func(obj,obj,obj,obj,obj);
        end

        function  node = func(arg1,arg2,arg3,arg4,arg5)
          %some operation
        end
end

1 个答案:

答案 0 :(得分:1)

您希望为要调用的函数设置单独的methods(Static)部分,而不实例化您的类的实例。对于静态部分中的任何方法,您可以从另一个文件执行:

<some code here>
answer = myClass.myStaticMethod(args);
<rest of code here>

对于没有methods的通用(Static)块中的任何内容,您必须实例化该类,然后针对该实例调用方法,即:

<some code here>
classInstance = myClass(constructor args)
answer = classInstance.myNonStaticMethod(args);
<rest of code here>