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

看板MATLAB作者 (天)時間10年前 (2015/08/13 18:28), 10年前編輯推噓3(302)
留言5則, 3人參與, 最新討論串2/2 (看更多)
% 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 : 就會顯示超界 : 請問我要怎麼修改程式呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.27.107 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1439461717.A.48C.html

08/13 18:40, , 1F
@是?
08/13 18:40, 1F
inline function

08/13 19:01, , 2F
如果只執行 for loop 似乎也work?
08/13 19:01, 2F

08/13 19:01, , 3F
那後面的 arrayfun 是>?
08/13 19:01, 3F
兩種方法 ※ 編輯: celestialgod (123.205.27.107), 08/13/2015 19:42:32

08/13 23:13, , 4F
後面那招很厲害 受教了
08/13 23:13, 4F

08/14 03:17, , 5F
第二招學習了(筆記
08/14 03:17, 5F
文章代碼(AID): #1Lp75LIC (MATLAB)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1Lp75LIC (MATLAB)