Назначение массива структуры

I have a 1×5 structure array called Gamewith two fields i. e.

Game(5) = struct(Points, Scorers);

Теперь у меня также есть Cell-array (5×2 Cell array) (импортированный из xlsread— so its all in cell-array form).

pts = [1 2;3 4;5 6;7 8;9 10];

Как я должен назначить каждую строкуpts, каждой из 5 структур вGame, соответственно?

Например: Game(3).Pointsдолжна быть строка 3pts(которая есть [5 6]).

Game(2).Points должно быть [3 4]. Game(1).Pointsбудет [1 2].

1 ответ

  1. Если ваш рабочий лист организован так, что строки соответствуют наблюдениям, а столбцы-переменным, например, точкам (числовым) и бомбардирам (строковым), вы можете импортировать данные в Matlab с помощью:

    [pts, scr] = xlsread(file);
    

    Тогда вы можете просто прочитать матрицу ptsи массив ячеек scrв каждое поле массива структуры как:

    Game = struct('Points', num2cell(pts,2), 'Scorers', scr);
    

    Это позволяет использовать struct()встроенную возможность сопоставления выходных измерений с входными данными, избегая использования forцикла для итерационного назначения импортированных значений полям.