Линия:
dots.nDots = 100;
создает переменную dots
в виде структурного массива с полем nDots
. Однако вы перезаписываете переменные точки, когда начинаете цикл for :
for dots = 1:dots.nDots
В этот момент переменная dots
становится целочисленным значением. Когда вы попытаетесь получить доступ к полю nDots
, вы получите сообщение об ошибке, потому что dots
больше не является структурой с этим полем.
Если вы просто переименуете переменную цикла, вы больше не получите эту ошибку:
dots.nDots = 100;
for iDot = 1:dots.nDots
dots.x = (rand(1, dots.nDots));
dots.y = (rand(1, dots.nDots));
end
Однако не ясно, что вы надеетесь достичь с помощью этого цикла. Все, что нужно будет сделать, - это многократно перезаписывать dots.x
и dots.y
новым набором из 100 случайных значений каждое, в 100 раз больше.