• Регистрация
Tur
Tur +2.31
н/д

Присвоить значения полям структуры

02.07.2020

Есть два одинаковых и больших по размеру массива чисел X Y.

X = [1 3 2 ...];  Y = [4 7 3 ...];

Есть объявленный массив структур pp.X = []; pp.Y = [];

Необходимо БЫСТРО присвоить полям структуры рр значения X и Y так, чтобы получилось:

pp(1).X = 1; pp(1).Y = 4;

pp(2).X = 3; pp(2).Y = 7;

pp(3).X = 2; pp(3).Y = 3;

...................................

 

Присваивание через for работает медленно

Теги

      02.07.2020

      Лучший ответ

      • alextip+46.13
        2.07.2020 12:00

        Кстати, вот так можно

        pp=struct('X',num2cell(X),'Y',num2cell(Y))

      Ответы

      • alextip
        alextip+46.13
        2.07.2020 17:13

        Зачем использовать структуры для однородных данных - не совсем понятно.

        Но можно попробовать num2cell, а затем cell2ctruct. Вдруг что получится путное.

        • alextip
          alextip+46.13
          2.07.2020 17:33

          Кстати, вот так можно

          pp=struct('X',num2cell(X),'Y',num2cell(Y))

          • Tur
            Tur+2.31
            2.07.2020 17:55

            alextip, спасибо! все работает!

            - Зачем использовать структуры для однородных данных - не совсем понятно.

            Это точки в пространстве, которые проецируются на плоскость, преобразуются...

            • alextip
              alextip+46.13
              2.07.2020 18:26

              Ну так продолжай хранить абсциссы в массиве Х, ординаты в массиве Y. Можно также попарно поместить абсциссы и ординаты в массив ячеек, в каждой ячейке хранить пару координат.

              • alextip
                alextip+46.13
                2.07.2020 18:26

                Можно и таблицу создать с двумя столбцами Х и Y.

                • Tur
                  Tur+2.31
                  2.07.2020 18:40

                  Конечно. Можно и так. Это все вообще-то мелочь. Главное задачу решить. Если интересно задача такая: таблетки двух цветные, половина синяя, половина желтая, например. Таблетки падают и снимаются камерой. Нужен алгоритм для определения стандартности таблетки по двум цветам. Ясно что таблетки бывают любых цветов и их оттенков. Перевод из RGB  в др. цветовые пространства приводит к потере в исходных данных. Поэтому различать лучше всего на RGB.