24小时热门版块排行榜    

查看: 1240  |  回复: 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的回帖

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的回帖

y1ding

铁杆木虫 (著名写手)

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

sgyin

铁杆木虫 (正式写手)

谢谢y1ding,没看懂r(ii_ii)=sqrt((A(jj,:)-A(ii,:)).^2);里面r(ii_ii)是什么意思啊?运行也有错误:
??? Undefined function or variable 'ii_ii'.

Error in ==> D:\Program Files\MATLAB6.5\bin\win32\temp.m
On line 23  ==>     r(ii_ii)=sqrt((A(jj,:)-A(ii,:)).^2);

今天我也试了一下,
for iii=1:m,
    for ii=1+iii:m,   
        rr((iii-1)*m-iii*(iii-1)/2+ii-iii,:)=(A(iii,:)-A(ii,:)).^2;
        r((iii-1)*m-iii*(iii-1)/2+ii-iii)=(rr((iii-1)*m-iii*(iii-1)/2+ii-iii,1)^2+rr((iii-1)*m-iii*(iii-1)/2+ii-iii,2)^2+rr((iii-1)*m-iii*(iii-1)/2+ii-iii,3)^2)^(.5);
       end
end
这样是可以的,可是rr这个矩阵比较大,浪费内存啊

[ Last edited by sgyin on 2008-1-2 at 10:39 ]
<ahref="http://www.TickerFactory.com/"><imgborder="0"src=&am
6楼2008-01-02 10:30:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

★ ★ ★ ★
spur(金币+2,VIP+0):感谢帮助!欢迎常来!
csfn(金币+2,VIP+0):thanks~
我想你的矩阵A中的坐标值有三个吧?分别代表三维的坐标,你可以这样算:
R=[];
for i=1:m
for j=i:m
R(i,j)=sqrt((A(i,: )-A(j,: )).^2);
R(j,i)=R(i,j);
end
end
这样应该得到的是一个m*m的对称矩阵,对角线上的元素为0。
如果m<1000的话,这样算很快,而且matlab占的内存也不大。
What would Jesus do?
7楼2008-01-02 11:58:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

y1ding

铁杆木虫 (著名写手)

for ii=1:m
   for jj=ii:m
    r(ii,jj)=sqrt((A(jj,:)-A(ii,:)).^2);
   end
end
这样才对,ii_jj打错了
8楼2008-01-02 18:40:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

呵呵,对于平方项来讲,在前在后都是一样的,这样只不过是将行的那个放在前面,好明白一点而已,每一行代表一个原子,每一列也代表一个原子。
如果你那样写的话,那应该只是一个对角阵了。
What would Jesus do?
9楼2008-01-02 18:58:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sgyin

铁杆木虫 (正式写手)

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

dnp,你说的有道理,但是得到两两原子之间的距离是为了后面程序调用,不是为了好看,最希望的是占内存少,算法省时,以及容易调用。我选择的是列矩阵保存r值(r=0不要)。
&amp;amp;lt;ahref=&amp;amp;quot;http://www.TickerFactory.com/&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;imgborder=&amp;amp;quot;0&amp;amp;quot;src=&amp;am
10楼2008-01-02 21:07:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sgyin 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +3 Tide man 2026-08-10 3/150 2026-08-10 21:48 by GZUZM
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 15/750 2026-08-10 19:29 by 要乐观耀哥
[基金申请] filecode +8 documentary 2026-08-10 8/400 2026-08-10 19:20 by loufangrui
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 11/550 2026-08-10 17:09 by 六两废铜
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +4 布布和一二 2026-08-10 4/200 2026-08-10 14:50 by 医学老男孩
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
信息提示
请填处理意见