在Matlab中解决未定义的变量或类错误

时间:2018-04-19 15:33:38

标签: matlab undefined-variable

假设我有2个文件。一个用于火车和测试,另一个用于功能。在trainingAndTesting.m文件中,当我运行它时,它显示错误:

Undefined variable "featuresIdiap" or class "featuresIdiap.trainGenuine"

但是在" featuresIdiap.m"文件,功能" featuresIdiap"在那里和#34; trainGenuine"也在这个文件中。它仍然显示错误,它没有定义。

在trainingAndTesting.m文件中显示错误:

Idiap_TrainData = [featuresIdiap.trainGenuine; featuresIdiap.trainReplay; ];

在featuresIdiap.m文件中: 第一行显示它具有功能" featuresIdiap"。

以下是代码:

function featuresIdiap = featuresIdiap(iterCntIdiaptrain, iterCntIdiaptest, varargin )

然后代码在哪里" trainGenuine"写道:

trainGenuine = zeros( 60*numFrames, numTotalFeatures );

另一行包含:

featuresIdiap.trainGenuine = trainGenuine;

如果我像这样更改trainingAndTesting.m文件:

featuresIdiap = feature_Idiap([],[]); Idiap_TrainData = featuresIdiap.trainGenuine;

然后它显示以下错误:

Undefined function or variable 'getmapping'

1 个答案:

答案 0 :(得分:0)

所以这就是我所知道的:

档案feature_Idiap.m

function featuresIdiap = feature_Idiap(iterCntIdiaptrain, iterCntIdiaptest, varargin)
featuresIdiap.trainGenuine = zeros( 60*numFrames, numTotalFeatures );

档案trainingAndTesting.m

Idiap_TrainData = featuresIdiap.trainGenuine;

此示例包含重现问题所需的所有内容。我已从文件中删除了其他所有内容。这就是所谓的最小,完整且可验证的示例(MCVE),帮助中心有一个非常好的description of this process,下次请关注它。如果您从一开始就发布了这个,那么您将在5分钟内得到答案,因为跟随标记的每个人都会立即发现问题!老实说,你自己也可能已经发现了这个问题。

运行trainingAndTesting时,永远不会调用函数feature_Idiap。您立即尝试使用其输出参数。如果我像这样修改MCVE示例:

featuresIdiap = feature_Idiap([],[]);
Idiap_TrainData = featuresIdiap.trainGenuine;

然后错误就消失了。