Re: [問題] 陣列存值問題

作者: celestialgod (天)   2015-08-13 18:28:34
% 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
: 就會顯示超界
: 請問我要怎麼修改程式呢?
作者: Fugacious (bibliomania)   2015-08-13 18:40:00
@是?如果只執行 for loop 似乎也work?那後面的 arrayfun 是>?
作者: JamesChen (James)   2015-08-13 23:13:00
後面那招很厲害 受教了
作者: at01076172   2015-08-14 03:17:00
第二招學習了(筆記

Links booklink

Contact Us: admin [ a t ] ucptt.com