登录论坛

查看完整版本 : [MATLAB基础] 一个MATLAB简单问题,求助


dsfxlfqq
2010-03-17, 09:53
上次问过这个问题,没表达清楚,现在重新说一遍:
有一个m×m的对称矩阵(元素表示各点间的距离),现在需要去掉对角线上的0(i=j,也就是自己和自己的距离为0)后,成为(m-1)×m的矩阵。因为后面编程我要用到这m个m-1维的向量。求怎么做到呢。
举个例子,现在有个对成矩阵D:
0 1 2 3
1 0 4 5
2 4 0 2
3 5 2 0
我怎么把它转化成 1 1 2 3 呢?希望各位不吝赐教,小弟感激不尽!
2 4 4 5
3 5 2 2

dsfxlfqq
2010-03-17, 09:56
上面没对齐,是:
1 1 2 3
2 4 4 5
3 5 2 2

mathjiang
2010-03-17, 18:07
前面回答过你的问题:

function x=qiumtr(x)
[m n]=size(x);
for i=1:m-1
x(i,1:i)=x(i+1,1:i);
end
x(end,:)=[]