Re: [討論] 請問想要把不同維度的矩陣結合在一起的 …已回收
※ 引述《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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):