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