| 查看: 2207 | 回复: 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用的不熟。 请大家帮忙写写这段程序,重点就是这个向量的定义,最好能注明清楚~~谢谢。 |
» 猜你喜欢
情人节自我反思:在爱情中有过遗憾吗?
已经有6人回复
基金正文30页指的是报告正文还是整个申请书
已经有4人回复
今年春晚有几个节目很不错,点赞!
已经有6人回复
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
物理模拟是用c语言好还是fortran好?
已经有30人回复
如何用fortran编写高斯白噪声程序
已经有6人回复
求初学者能用的fortran编译器
已经有6人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】fortran中怎么存储不确定长度的数据【已完结】
已经有6人回复
【求助】这样的公式,在fortran里该怎么写了,谢谢【求助成功】
已经有4人回复
» 抢金币啦!回帖就可以得到:
大连海事大学轮机学院博士名额1个
+1/171
坐标广州,征女友
+2/144
ChineseResearchLaTeX: 开源、免费的vibe coding辅助国自然写作
+1/83
陆军军医大学第二附属医院(新桥医院)冉茜课题组招聘科研人员
+1/79
北京-89175-事业单位-诚征女友
+1/60
海法大学线上开放日
+1/34
国家级青年人才课题组招收2026级硕士研究生
+1/31
海南大学海洋技术与装备学院-科研助理招聘(可读博)--膜分离水处理方向
+1/31
海南大学海洋技术与装备学院-科研助理招聘(可读博)膜分离水处理方向
+1/28
上海交通大学-宁波东方理工大学联合培养博士生 – 力学
+1/10
国家“双一流”建设高校-南京林业大学-国家级青年人才团队 招2026级申请考核制博士
+1/7
哈工大(深圳)国家级青年人才 钟颖教授课题组 新增26级博士名额!欢迎报名!
+1/4
英国伯明翰大学Dr Yueting Sun招收博士生/访问学生学者(化学材料力学工程等方向)
+1/4
博士毕业一年发现毕业论文有数据写错
+1/3
中国地质大学(武汉)杨华明课题组刘磊研究员招收冶金固废资源高值化利用方向博士
+1/3
德国图宾根大学诚招全奖岗位制博士(地下流固化学反应耦合数值模拟方向)
+1/3
【科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/2
澳科大招收2026秋季全奖博士研究生(药剂学/生物材料方向,3月5日18:00截止)
+1/2
上海大学生物有机电子材料及器件团队博士研究生招聘
+1/2
德国图宾根大学诚招全奖岗位制博士(地下流固化学反应耦合数值模拟方向)
+1/1
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小木虫(金币+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
★ ★ ★
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
|
非常感谢版主您的帮忙,回复的也非常及时。我有一点疑问向您请教。 在调用子程序的时候,在主程序中式这样的写的: 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













回复此楼












