% method 1 - for loop
numx = rand(10, 9);
numy = rand(10, 9);
out = struct('numx', [], 'numy', []);
for i = 1:10
for j = 1:9
out(i,j).numx = numx(i,j);
out(i,j).numx = numy(i,j);
end
end
out(5,6).numx
% method 2 - arrayfun
numx = rand(10, 9);
numy = rand(10, 9);
out = arrayfun(@(x, y) struct('numx', x, 'numy', y), numx, numy);
out(5,6).numx
※ 引述《Fugacious (Fugacious)》之銘言:
: 目前有兩個變數空間,內各自有9*10的值
: 假設名字為 numx numy
: 想要做一個陣列Newstruct把 numx 跟 numy 存進去
: 本來是想用for一個一個存
: 使得Newstruct(5,6).numx = numx(5,6)
: 但是結果不如預期
: for i = 1:10
: for j = 1:9
: Newstruct.numx(j,i) = numx(j,i);
: end
: end
: 出來之後的 Newstruct 變成一個有numx numy的東西
: 如果輸入Newstruct(5,6).numx
: 就會顯示超界
: 請問我要怎麼修改程式呢?