[問題] 矩陣合併已回收

看板MATLAB作者 (志志)時間14年前 (2011/09/05 14:29), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串3/3 (看更多)
我在寫一個程式, A=[1 2 3;4 5 6;7 8 9]; for a=1:n for b=1:m C=A(a,b).*[1 0;0 1] eval(['C', num2str(a), num2str(b),'=C']); end end 產生C11 C12 ....Ck3為各個元素乘上單位矩陣, 最後需要將矩陣合併成為, [C11 C12 C13;C21 C22 C23;.........;Ck1 Ck2 Ck3], 這個樣子的形式, 請問有沒有什麼方式可以讓我可以將它完成, 因為k>100,所以沒辦法一個一個打。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.99.64

09/05 14:31, , 1F
cat + eval + for
09/05 14:31, 1F

09/05 16:37, , 2F
cell細胞陣列,之後再轉成矩陣
09/05 16:37, 2F

09/05 17:50, , 3F
若[m,n]=size(A),可在for loop內多加 c(m,n)=C;
09/05 17:50, 3F

09/05 17:51, , 4F
呃...不對
09/05 17:51, 4F

09/05 17:53, , 5F
應該是c{m,n}=C, 最後for loop結束後 c=cell2mat(c);
09/05 17:53, 5F

09/05 19:18, , 6F
enderlcy大的方法好用!
09/05 19:18, 6F

09/05 19:32, , 7F
迴圈中寫: c{a,b}=A(a,b).*[1 0;0 1];
09/05 19:32, 7F
文章代碼(AID): #1EP6nWR_ (MATLAB)
文章代碼(AID): #1EP6nWR_ (MATLAB)