作者purplehui (生命的强度表现在不依赖)
看板MATLAB
标题[讨论] 矩阵变向量
时间Tue Oct 8 15:13:17 2013
大家好
我有一个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
1F:推 profyang:for loop前面先加p=zeros(1,n*(n-1)/2); 10/08 15:21
2F:→ profyang:然後里面 p(k)=C(i,j); k=k+1; 10/08 15:23
3F:→ purplehui:太感谢了!!!解决我後面160*160的噩梦~~ 10/08 15:43
4F:→ ejialan:p=triu(C); p=p(p~=0); 10/08 15:51
5F:→ purplehui:感谢楼上,原来有这麽简单的方法!! 10/08 15:59
6F:推 profyang:4F的方法赞!!@@ 10/08 16:36
7F:推 sunev:p=C(triu(true(size(C)))); 10/08 19:29