Что именно вы хотите?Это:
- сохранить 4 предопределенных пустых места и назначить каждому из 4 изображений одно пустое место случайным образом,
- или просто разместить их случайным образом на экране?
Идея состоит в том, чтобы отображать изображения и сохранять ручку каждого объекта фигуры (H1, H2, H3, H4).Идеально было бы хранить их в списке дескрипторов H. Для первой идеи, сохраняйте позицию левого верхнего угла каждого пустого места в POS-списке из 4 записей.Составьте список связности LC, где LC [i] = j возвращает индекс в POS, где найти позицию дескриптора H [i].Например, если LC = [1 2 3 4] дескриптор H1 назначен на позицию POS 1 , H2 на POS [2] и т. Д. ... Затем используйте randperm () ( mathworks.com/help/techdoc/ref/randperm.html), как указал Ашиш в списке ЛНР.Это будет случайным образом «смешивать» список связности и, следовательно, перемешивать позиции.Наконец, установите положение каждого маркера:
set(H[i], 'Position', [POS(LC[i],1) POS(LC[i],2) SizeX SizeY]);
Где SizeX и SizeY - это соотношения размеров между объектом фигуры и экраном.