| 查看: 2412 | 回复: 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用的不熟。 请大家帮忙写写这段程序,重点就是这个向量的定义,最好能注明清楚~~谢谢。 |
» 猜你喜欢
26/27申博
已经有4人回复
航天502所 高瑛珂博士 婚内征婚 欺骗女性开房
已经有23人回复
地球科学部D01口青年基金,最低几A几B几C才能有几率中呀。
已经有4人回复
宿州学院学报
已经有6人回复
投稿文章被秒拒了
已经有5人回复
招收2026级博士生
已经有6人回复
博士申请
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
物理模拟是用c语言好还是fortran好?
已经有30人回复
如何用fortran编写高斯白噪声程序
已经有6人回复
求初学者能用的fortran编译器
已经有6人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】fortran中怎么存储不确定长度的数据【已完结】
已经有6人回复
【求助】这样的公式,在fortran里该怎么写了,谢谢【求助成功】
已经有4人回复
» 抢金币啦!回帖就可以得到:
【26年9月入学】中国石油大学(北京) 化学工程专业招2026级学术博士1名
+1/278
山东征女友,坐标济南
+1/169
南京大学 智能驱动与感知材料实验室 诚招推免硕生生/直博生/博士生/科研助理/博士后
+1/134
面上祈福
+1/83
Polymers期刊特刊Polymeric Materials for Advanced Drug Delivery组稿
+1/81
西交利物浦大学招收26年12月入学奖学金博士生1名(人机协作康复的交互式数字孪生)
+1/37
【通知】北京信息科技大学仪器科学与光电工程学院招收博士研究生(2026),还有名额!
+1/33
浙江理工大学国家级高层次人才团队招收能源光电催化材料方向博士生(截止5月31号)
+2/22
【通知】北京信息科技大学仪器科学与光电工程学院招收博士研究生(2026)
+2/18
“双一流”南京邮电大学--海优团队--招收2026博士生1-2名(6月15日前有效)
+1/15
【20260528】湖南工业大学许利剑教授招收2026级生物医学工程博士研究生
+1/13
【有效,招满就关贴】【26.9月入学】211大学补招学博1人(AI/控制/电气等方向)
+1/9
上海大学微电子学院杨军教授团队招聘带编专任教师
+1/9
上海交通大学化学化工学院张智涛课题组诚聘博士后
+1/6
招聘科研助理1名
+1/6
材料分析测试
+1/5
【博士招生】武汉科技大学招收材料、化工、环境、冶金类2026年“申请-考核”制博士生
+1/5
上海大学微电子学院杨军教授团队招聘带编专任教师
+1/4
EliSpot 技术:疫苗研发不可或缺的核心工具
+1/1
军事医学研究院生物信息学方向胡明达老师团队招研究生 / 进修生 / 联培生
+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











回复此楼













