在Matlab中导入单个.m文件中的多个类?

在Matlab中导入单个.m文件中的多个类?,matlab,Matlab,我已经看到了,但我似乎无法理解下面的工作原理。这是针对MatlabR2016B的 我正在查看,在该.zip中,有两个文件: WDFDiodeExample.m它是可运行的,并使用一些附加类 WDFClasses.m包含附加类 下面是一段WDFClasses.m: %WDFclasses.m % .... %----------------------WDF类------------------------ classdef WDF

我已经看到了,但我似乎无法理解下面的工作原理。这是针对MatlabR2016B的

我正在查看,在该.zip中,有两个文件:

  • WDFDiodeExample.m
    它是可运行的,并使用一些附加类
  • WDFClasses.m
    包含附加类
下面是一段
WDFClasses.m

%WDFclasses.m
% ....
%----------------------WDF类------------------------
classdef WDF
问题是,我似乎无法从此文件导入这些类。我尝试在
WDFDiodeExample.m
的开头添加以下语句:

WDFClasses%这将运行WDFClasses.m;但%类名和文件名不一致。
eval(fileread('WDFClasses.m'))%错误:非法使用保留关键字“classdef”。
运行('WDFClasses.m')%类名和文件名不一致。
。。。我把错误写在评论里


MATLAB似乎只想要每个m文件一个类,而且它似乎无法识别打包在一个文件中的多个类-但是,为什么作者会选择这样编写
WDFClasses.m
,因此它不能直接使用?或者这在早期版本的MATLAB中是可能的,然后被禁用了吗?

结果,相关文献也提到了这一点:

必须注意的是,所有呈现的类都显示在 虽然在实践中,MATLAB要求每个类驻留在一个 个人档案。换句话说,这些课程。。。应该分为七个不同的文件 为了使模型在MATLAB中运行


。。。所以我想,这就是它的工作方式…

是的,MATLAB每个文件只需要一个类。