一种抽象方法的MATLAB帮助内容

一种抽象方法的MATLAB帮助内容,matlab,documentation,Matlab,Documentation,在普通类方法中,我可以为MATLAB中的“help”命令提供内容。但是,在编写抽象方法时,help函数看不到抽象方法。例如,如果您有一个类NeedsHelp: classdef NeedsHelp methods (Abstract) INeedHelp(self) % This method is not visible to the help command. end methods function IHaveHelp

在普通类方法中,我可以为MATLAB中的“help”命令提供内容。但是,在编写抽象方法时,help函数看不到抽象方法。例如,如果您有一个类NeedsHelp:

classdef NeedsHelp
    methods (Abstract)
        INeedHelp(self)
        % This method is not visible to the help command.
    end
    methods
        function IHaveHelp(self)
            % This method shows help as expected.
        end
    end
end
帮助命令的作用如下(R2009b):


根据Loren在MathWorks上的博客,提供抽象方法文档有什么解决方案吗?

看起来从2009年起这是不可能的。请参阅。

我刚刚遇到了这个问题。在实际的类定义中不能这样做。有一个解决办法(至少在2012b中),即使用您可以放置和

例如,假设您将类文件另存为

C:\myPath\NeedsHelp.m
要添加抽象方法的帮助文件,首先在目录(myPath)中创建一个文件夹,该文件夹的类名称前面带有@-符号(@NeedsHelp)。在此文件夹中创建一个名为抽象方法(INeedHelp.M)的M文件

此M文件仅包含“帮助”文档。由于类优先级的工作方式,子类方法的具体方法将被调用,但当没有“帮助”文档时,将在@-文件夹中搜索方法定义

“帮助”文档由抽象子类和具体子类继承,并且可以被两者覆盖。请注意,您不必将类放入@文件夹中,这样就可以正常使用文档


(这基本上是为内置函数提供“帮助”文档的方式)。

将帮助放在抽象方法的函数行之前,就像属性一样。我没有9b要测试,但在11b中:

classdef NeedsHelp
    methods (Abstract)
        % Help goes here.
        INeedHelp(self)
    end
end

>> help NeedsHelp.INeedHelp
  Help goes here.
C:\myPath\@NeedsHelp\INeedHelp.m
classdef NeedsHelp
    methods (Abstract)
        % Help goes here.
        INeedHelp(self)
    end
end

>> help NeedsHelp.INeedHelp
  Help goes here.