Re: [問題] 矩陣/向量插入值已回收

看板MATLAB作者 (Acoustic)時間15年前 (2010/10/05 16:28), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《vespar (藍月)》之銘言: : 各位大大好 : 我有兩向量 a=[1 2 3 4] b=[5 6 7] : 想將b中元素逐一分別插入a中 : 如[1 5 2 3 4] : [1 2 5 3 4] : [1 2 3 5 4] : 這樣 以此類推 : 想請問有什麼一般化的寫法呢 : 感恩~~~ 試著解決一下, 有點暴力... a=[1:4]; na=length(a); b=[5:7]; nb=length(b); c=kron(b, diag(ones(size(b)))); z=zeros(2*na-1, (na-1)*nb); z([1:2:end, 2:2:end],:) = [a'*ones(1, size(z,2)); c]; z(~z)=[]; Y = reshape(z, [na+1 (na-1)*nb])'; %%% Y 即為所求 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.27.3

10/05 16:31, , 1F
原理是多塞一些"零向量", 把b填進去之後再刪掉值為零的部份
10/05 16:31, 1F

10/05 17:40, , 2F
原來還有kron這種用法@@ 真是厲害 感謝~~
10/05 17:40, 2F
文章代碼(AID): #1Cgk6wYO (MATLAB)
文章代碼(AID): #1Cgk6wYO (MATLAB)