1

我有stations字段的结构namecode. 例如:

stations = struct(...
    'name',{'a','b','c','d'},...
    'code',{[0 0],[0 1],[1 0],[1 1]}) 

(我将改变这个结构,添加新的站点名称和代码等。)我想创建一个新的结构sessions',它也有字段namecode但值将是两个站点的组合?

例如:

stations = struct(...
    'name',{'ab','ac','ad','bc','bd','cd'},...
    'code',{[0 0 0 1],[0 0 1 0],[0 0 1 1],[0 1 1 0],[0 1 1 1],[1 0 1 1]}).

我正在尝试类似的东西:

for i=1:numberOfStations-1
    for j=i+1:numberOfStations
        strcat(stations(i).name,stations(j).name);
        cat(2,stations(i).code,stations(j).code);
    end 
end

但我不知道将这些值放在哪里。

4

1 回答 1

0

您拥有的struct是一个结构数组,因此您可以访问每个元素,例如:

stations(1)

ans = 

    name: 'a'
    code: [0 0]

然后对于特定的元素和成员

stations(2).name

ans =

b

如果要添加到结构中,可以执行以下操作:

stations(end+1) = struct('name','hi','code',[1 1]);

如果要将新的结构数组合并到当前结构:

% current struct array, stations
% new data, new_station_data
for ii=1:length(new_station_data)
    station(end+1) = new_station_data(ii);
end

希望这可以帮助!

于 2012-09-19T21:20:11.607 回答