看板 MATLAB 關於我們 聯絡資訊
大家好 我有一個P-Value的矩陣 也就是上三角跟下三角重複,對角線為0 但我想把重複的值跟對角線拿掉 剩下的元素變成向量 拿10*10的矩陣來說,就是變成45*1的向量 我用2個for迴圈來寫: k=1 n=45 for i=1:n; for j=i+1:n; p[k]=C(ij); %C為矩陣名稱 k++; end end 但好像完全錯誤= =+ 請問該怎麼寫才對 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.126.132.96
profyang:for loop前面先加p=zeros(1,n*(n-1)/2); 10/08 15:21
profyang:然後裡面 p(k)=C(i,j); k=k+1; 10/08 15:23
purplehui:太感謝了!!!解決我後面160*160的噩夢~~ 10/08 15:43
ejialan:p=triu(C); p=p(p~=0); 10/08 15:51
purplehui:感謝樓上,原來有這麼簡單的方法!! 10/08 15:59
profyang:4F的方法讚!!@@ 10/08 16:36
sunev:p=C(triu(true(size(C)))); 10/08 19:29