Чем отличается глобальная матрица? - PullRequest
1 голос
/ 07 декабря 2011

Это прекрасно вычисляется:

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 Ответ

1 голос
/ 07 декабря 2011

Сначала необходимо объявить waves0 глобальным в базовом рабочем пространстве.

Кроме того, вы можете использовать waves0 = evalin('base', 'waves0'); для извлечения значения из базовой рабочей области.

Обратите внимание, что ни один из этих вариантов не считается хорошей практикой, так как он порождает именно ту проблему, которую вы видите среди других. Было бы намного лучше передать waves0 в качестве входного параметра.

...