24小时热门版块排行榜    

查看: 1046  |  回复: 9
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sgyin

铁杆木虫 (正式写手)

[交流] matlab编程问题

A是m*3的矩阵,是m个原子的坐标值,请问如何求的所有两两原子之间的距离R?(R应该有m*(m-1)/2个分量。)
我试着用for

for ii=1:m,
    r(ii)=sqrt((A(1,:)-A(ii,:)).^2);
end
这样只得到m个值。
该如何把这个程序完成啊?
谢谢

[ Last edited by csfn on 2008-12-29 at 20:20 ]
回复此楼

» 猜你喜欢

<ahref="http://www.TickerFactory.com/"><imgborder="0"src=&am
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sgyin

铁杆木虫 (正式写手)

引用回帖:
Originally posted by dnp at 2008-1-2 18:58:
呵呵,对于平方项来讲,在前在后都是一样的,这样只不过是将行的那个放在前面,好明白一点而已,每一行代表一个原子,每一列也代表一个原子。
如果你那样写的话,那应该只是一个对角阵了。

dnp,你说的有道理,但是得到两两原子之间的距离是为了后面程序调用,不是为了好看,最希望的是占内存少,算法省时,以及容易调用。我选择的是列矩阵保存r值(r=0不要)。
<ahref="http://www.TickerFactory.com/"><imgborder="0"src=&am
10楼2008-01-02 21:07:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

y1ding

铁杆木虫 (著名写手)

★ ★ ★ ★ ★
spur(金币+2,VIP+0):感谢帮助!
csfn(金币+3,VIP+0):thanks~
for ii=1:m-1
   for jj=ii:m
    r(ii_ii)=sqrt((A(jj,:)-A(ii,:)).^2);
end
2楼2008-01-02 09:02:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)

for ii=1:m-1
   for jj=ii:m
    r(ii_ii)=sqrt((A(jj,:)-A(ii,:)).^2);
end
end
3楼2008-01-02 09:02:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)

for ii=1:m
   for jj=ii:m
    r(ii_ii)=sqrt((A(jj,:)-A(ii,:)).^2);
end
4楼2008-01-02 09:02:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见