У меня возникли проблемы с итерацией через массив ячеек строк, который является свойством константы в классе. Каждый раз, когда я пытаюсь индексировать массив ячеек от 1 до конца, происходит сбой Matlab. Что я могу делать неправильно?Невозможно выполнить итерацию через массив ячеек строк, который является постоянным свойством класса
код выглядит следующим образом:
classdef classA
properties(Constant)
ValidElements = {'Elem1', 'Elem2', 'Elem3'};
end
properties
AInfo
end
function this = classA(info)
1stvalidelement = classA.ValidElements{1};
validelementslist = classA.ValidElements{1:end};
...
...
this.AInfo = info;
end
...
end
Внутри конструктора, первая линия выполняет хорошо, без каких-либо проблем, но на 2-ой линии аварии Matlab. Я совершенно не знаю, почему это может быть. Пожалуйста, помогите мне.
Спасибо.
"MATLAB аварии" ... как в: MATLAB выходит без предупреждений или ошибок? Вы получаете segfaults? Какие ошибки вы видите? –
Я вижу ошибку нарушения прав доступа, но то же самое работает, когда ValidElements является локальной переменной, и я пытаюсь получить к ней доступ. Я имею в виду ошибку нарушения доступа. – DEEPMALA
Кроме того, я заметил, что всякий раз, когда я индексирую использование чисел, таких как Block.ValidElements {1: 2}, он не сбой, но как только я начинаю использовать Block.ValidElements {1: end}, он сбой. Weird !!! Но каждый раз он возвращает только значение 1-го элемента ячейки. – DEEPMALA