| 查看: 2148 | 回复: 8 | |||
| 本帖产生 1 个 程序强帖 ,点击这里进行查看 | |||
[交流]
【求助】用fortran怎么描述下面这样的情况,我是新手,请大家帮忙
|
|||
|
已经知道直线向量a上面的2个点(x1,y1,z1), (x2,y2,z2)和直线向量b上面的2个点(x3,y3,z3), (x4,y4,z4),求直线a,b的夹角。(0~180degree) 夹角公式是cos=[(x2-x1)*(x4-x3)+(y2-y1)*(y4-y3)+(z2-z1)*(z4-z3)]/[squr(x2-x1)+squr(y2-y1)+squr(z2-z1)]*[squr(x4-x3)+squr(y4-y3)+squr(z4-z3)]. 其实我最大困难是在fortran中怎么定义这个新的函数-直线向量(恩,这个向量类似一个2组数组)。本人是 对fortran用的不熟。 请大家帮忙写写这段程序,重点就是这个向量的定义,最好能注明清楚~~谢谢。 |
» 猜你喜欢
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
实验室接单子
已经有7人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
物理模拟是用c语言好还是fortran好?
已经有30人回复
如何用fortran编写高斯白噪声程序
已经有6人回复
求初学者能用的fortran编译器
已经有6人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】fortran中怎么存储不确定长度的数据【已完结】
已经有6人回复
【求助】这样的公式,在fortran里该怎么写了,谢谢【求助成功】
已经有4人回复
» 抢金币啦!回帖就可以得到:
供应德国EXAKT艾卡特半导体导热散热材料三辊研磨机50 PLUS
+1/81
成会明院士团队|钱希堂(国家青年人才)招博后啦!二维材料和固态电池
+1/81
北京航空航天大学教授课题组招生启事
+1/80
上海交通大学任垭萌课题组招聘申请-考核博士
+1/77
上海师范大学生物医用材料方向招收2026级博士研究生
+1/76
湖南师范大学医工交叉科研团队招收计算机博士生
+1/72
湖南科技大学资安学院管青军教授2026年招收审核制博士生
+1/66
留学导师避雷——望传播
+1/58
真诚找对象
+1/57
北京—征老婆
+1/50
北京化工大学化学工程学院杨琪教授 邱介山教授,招收储能电池方向博士研究生
+1/24
浙江大学信息光子材料与器件实验室诚聘博士后、科研助理
+1/21
坐标济南,山东农科院招 有机合成 or 药物化学 联培硕士研究生
+1/20
太原理工大学电工部招聘老师-偏电类专业的博士们快来看啊
+1/9
深圳市中西医结合医院博士后招聘【药理学/中药学/天然药物/生物技术】
+1/9
武汉双一流高校干细胞与肿瘤生物学团队招聘2026级申请考核制博士生
+1/7
河南师范大学科研助理岗位招聘
+1/6
【博士后/科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/5
液晶拓扑光子学博士招生(电子科技大学)
+1/1
天津理工大学0854、控制、信息与通信工程调剂交流
+1/1
★ ★ ★
tpp001(金币+5):很感谢您的帮忙。不过我这里的数据有点复杂,我根据您的这个程序转换不过来,不知道能不能在麻烦您一下,可以吗?输入文件详细的情况在下面回复中,谢谢 2010-12-18 15:38:27
余泽成(金币+3):辛苦了! 2010-12-19 19:27:55
tpp001(金币+5):很感谢您的帮忙。不过我这里的数据有点复杂,我根据您的这个程序转换不过来,不知道能不能在麻烦您一下,可以吗?输入文件详细的情况在下面回复中,谢谢 2010-12-18 15:38:27
余泽成(金币+3):辛苦了! 2010-12-19 19:27:55
|
写了一个简单的小程序,可以满足你使用的要求: ![]() ![]() 输入文件的含义如下: ![]() 下面是三个输入文件以及测试结果 ![]() 测试输入对应的两个矢量如下图所示: ![]() ![]() 测试输入对应的两个矢量如下图所示: ![]() ![]() 测试输入对应的两个矢量如下图所示: ![]() [ Last edited by maomao1210 on 2010-12-18 at 14:59 ] |
2楼2010-12-18 14:56:39
|
真的不好意思,我的看懂了您上面的代码,可是我还是不会用来写我这个复杂点的情况,可能我有点笨了,不知道能不能麻烦您看看我这个情况,谢谢。。。。 总共有29条直线向量,每条直线向量上都知道2个点的坐标,A(a1,a2,a3),B(b1,b2,b3),【所以输入文件中有58个点的坐标】而我要得出他们任意2条直线向量的夹角。。。 输入文件的格式是这样的 a1 a2 a3 b1 b2 b3 #这是第一条直线向量上面的2个点坐标 c1 c2 c3 d1 d2 d3 #这是第2条直线向量上面的2个点坐标 ...... ..... (n-1)1 (n-1)2 (n-1)3 n1 n2 n3 #这是第n条直线向量上面的2个点的坐标 一共58行数据 |
3楼2010-12-18 15:51:00
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zyj8119(金币+10, 程序强帖+1):希望maomao1210继续努力。。。 2010-12-18 16:52:40
小木虫(金币+0.5):给个红包,谢谢回帖交流
zyj8119(金币+10, 程序强帖+1):希望maomao1210继续努力。。。 2010-12-18 16:52:40
4楼2010-12-18 16:34:04
|
非常感谢版主您的帮忙,回复的也非常及时。我有一点疑问向您请教。 在调用子程序的时候,在主程序中式这样的写的: Call Sub(A(1,Idicp),A(1,Jdicp),Output) 而在子程序中: Subroutine Sub(A,B,Output) Implicit None Real*8 A(3),B(3) Real*8 Dicp,AA,BB,AB,Output AB=A(1)*B(1)+A(2)*B(2)+A(3)*B(3) AA=A(1)*A(1)+A(2)*A(2)+A(3)*A(3) BB=B(1)*B(1)+B(2)*B(2)+B(3)*B(3) 在子程序中需要用到的自变量A(3)是一个一维数组,大小是3。 而您在主程序中设定的自变量A(1,Idicp)是一个二位数组。我就是这一点想不通,因为:这个A(1,Idicp)在主程序中我认为它对应了一个具体的数据:A(1,Idicp)= X2-X1。而在子程序中会用到A(1),A(2),A(3),这3个数据的,所以我老是觉得它们对应不上去。 ![]() 还有一个问题是:在输出结果的时候,我希望输出的时候,没有重复的夹角出现比如line 1与 line2 之间的夹角,和line 2 与line 1之间的夹角是一样,只要输出一个就行。还有就是 同一直线的夹角也不用输出来。因为我后面还个程序输出的数据进行一些分析的。谢谢 |
5楼2010-12-19 10:34:05
6楼2010-12-19 11:02:45
7楼2011-01-06 20:17:44
8楼2011-01-07 21:01:50
9楼2011-01-07 22:16:52












回复此楼













