Re: [討論] 請問想要把不同維度的矩陣結合在一起的 …已回收

看板MATLAB作者 (鳥)時間15年前 (2010/11/13 17:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ 引述《sexygg (gg)》之銘言: : 我有若干個矩陣,列數都是1,但行數不同 : 我舉三個好了,a=[1 2] b=[1 2 3] c=[1 2 3 4] : 我想要把這三個矩陣結合成一個三列的矩陣,而行數最大值就是三個之中最大的 : 也就是結合成一個3*4的矩陣,不足的地方就補零,如下 : [1 2 0 0] : z=[1 2 3 0] : [1 2 3 4] : 想請教matlab裡面有相關指令可以做這個矩陣結合,不足補零的函數呢? : 謝謝!! 我是新手,請高手指點 <(_ _)> 指令vertcat好像可以把相同的矩陣結合 我的寫法如下: clc clear a=[1 2]; b=[1 2 3]; c=[1 2 3 4]; % 尋找各矩陣大小 Sa=size(a); Sb=size(b); Sc=size(c); M=max([Sa(2) Sb(2) Sc(2)]); % 找出最大的 % 其他短的矩陣末端補0 if Sa(2)<M a(1,Sa(2)+1:M)=0; if Sb(2)<M b(1,Sb(2)+1:M)=0; if Sc(2)<M c(1,Sc(2)+1:M)=0; end end end % 合併a,b,c D就是你要的 D=vertcat(a,b,c); 若是你要合併的矩陣有很多個(ex:1000個) 那我的寫法應該不是很好 應該有更好的寫法吧~ 我的功力很弱,請高手指教 謝謝^^" -- 20330 6/17 - □ (本文已被吃掉) 幹!這梗有毒...救命~~ 20331 6/17 - □ (本文已被吃掉) 〒 〒 20332 1 6/17 - □ (本文已被吃掉) ▼▼▼▼ 20333 XX 6/17 - 囧 (哈哈拎北有毒) \▲▲▲▲\ = ●20334 1 6/17 - □ (本文已被吃掉) 20335 6/17 - □ (本文已被吃掉) 口卡口卡嘗百草ψArmour -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.73.103
文章代碼(AID): #1CtbEhQ9 (MATLAB)
文章代碼(AID): #1CtbEhQ9 (MATLAB)