Ошибка индекса точки Matlab в массиве, заполненном объектами из класса - PullRequest
1 голос
/ 15 апреля 2020

Привет всем, у меня возникли некоторые проблемы с моим кодом. Цель состоит в том, чтобы добавить несколько объектов в класс, для этого я создал следующий код:

array = cell(1,10);
A = matrix %specified somewhere else
for ind = 1:10
   [r c] = find(A<3);
   random = randi([1, size(r,1)]);
   array{ind} = classname(1, r(random), c(random));
end

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

function growing(thisElement)
  for i = 1:length(otherClass.array)
    range = range((otherClass.array(i).locationX - 2), (otherClass.array(i).locationX +2));
    if otherClass.array(i).pos<20
      ......
    end
  end 
end

При этом и locationX, и pos являются свойствами classname. Я получаю сообщение об ошибке Индексирование точек не поддерживается для переменных этого типа. Для обоих диапазонов как для последней части if. Эта ошибка, по-видимому, очень прямая, однако я не нашел ответов, касающихся моего дела. У кого-нибудь есть идея обойти ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...