Re: [問題] 關於矩陣的元素已回收
※ 引述《sqrt1089 (李崩子)》之銘言:
: 假設我處理出一個矩陣
: A=
: 1 0 0 0 0 0
: 0 0 0 0 0 0
: 0 0 0 0 0 0
: 0 2 3 0 0 0
: 0 0 0 4 5 6
: 有沒有方法可以讓他變成以下這樣
: B=
: 1
: 0
: 0
: 2 3
: 4 5 6
: 就是每列都往前遞補到第一行,然後都是0的列就補一個0(為了觀察用的)
: 有爬過文
: 有一個頗類似b=a(a~=0)這個
: 但是碰到矩陣就亂掉了,而且他把0全刪掉
寫法不太簡潔,A矩陣內元素怕搞混,我乘上10倍
clear all
clc
A=[10 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 20 30 0 0 0;0 0 0 40 50 60];
TEMP=size(A);
colA=TEMP(1);
B=zeros(size(A));
for col=1:colA
TEMP=A(col,:);
TEMP=TEMP(find(TEMP>0));
if sum(TEMP)==0
B(col,:)=zeros(1,6);
else
for row=1:max(size(TEMP))
B(col,row)=TEMP(row);
end
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.128.172
→
09/18 22:23, , 1F
09/18 22:23, 1F
→
09/18 22:24, , 2F
09/18 22:24, 2F
→
09/18 22:33, , 3F
09/18 22:33, 3F
討論串 (同標題文章)