全局矩阵如何不同?

时间:2011-12-07 11:04:09

标签: matlab octave

这计算好:

spike(waves0);

但令人惊讶的是:

toArff(@spike)
error: A(I): Index exceeds matrix dimension.
error: called from:
error:   /Users/simpatico/mlr/spike.m at line 4, column 7
error:   /Users/simpatico/mlr/toArff.m at line 4, column 16

function toArff = toArff(features)

        global waves0;
        spike0 = features(waves0);
        true = zeros(size(waves0)(1), 1);
        P = [spike0 true];

end

1 个答案:

答案 0 :(得分:1)

您需要先在基础工作区中将waves0声明为全局。

或者,您可以使用waves0 = evalin('base', 'waves0');从基本工作区获取值。

请注意,这些选项都不被视为良好做法,因为它会引起您所看到的那种问题。将waves0作为输入参数传递会更好。