计算化学公社

 找回密码 Forget password
 注册 Register
Views: 3330|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[Fortran] fortran程序编译问题

[复制链接 Copy URL]

609

帖子

2

威望

4351

eV
积分
5000

Level 6 (一方通行)

本帖最后由 zyj19831206 于 2018-9-3 15:24 编辑
module bezier
  !----------------------------------------module coment
  !  Version     :  V1.0   
  !  Coded by    :  syz
  !  Date        :  
  !-----------------------------------------------------
  !  Description :   Bézier曲线模块
  !   
  !-----------------------------------------------------
  !  Contains    :
  !      1.     方法函数  solve
  !      2.
  !-----------------------------------------------------

  contains
  subroutine solve(r1,r2,r3,r4,n,t,x,y)
  !---------------------------------subroutine  comment
  !  Version   :  V1.0   
  !  Coded by  :  syz
  !  Date      :  
  !-----------------------------------------------------
  !  Purpose   :   Bézier曲线方法函数
  !   
  !-----------------------------------------------------
  !  Input  parameters  :
  !       1.   r1  r4 端点
  !       2.   r2  r3 控制点
  !       3.   n  要计算的节点个数
  !       4    t  节点参数    t 在0到1之间
  !  Output parameters  :
  !       1.   x  坐标
  !       2.   y  坐标
  !  Common parameters  :
  !
  !----------------------------------------------------
  !  Post Script :
  !       1.
  !       2.
  !----------------------------------------------------
  implicit real*8(a-z)
  integer::n,i
  real*8::r1(2),r2(2),r3(2),r4(2)
  real*8::c1(4),c2(4)
  real*8::t(n),x(n),y(n)
  bx=3d0*(r2(1)-r1(1))
  cx=3d0*(r3(1)-r2(1))-bx
  dx=r4(1)-r1(1)-bx-cx
  by=3d0*(r2(2)-r2(1))
  cy=3d0*(r3(2)-r2(2))-by
  dy=r4(2)-r1(2)-by-cy


  !已经解算出系数
  do i=1,n
      x(i)=r1(1)+bx*t(i)+cx*(t(i))**2+dx*(t(i))**3
      y(i)=r1(2)+by*t(i)+cy*(t(i))**2+dy*(t(i))**3
  end do
  end subroutine solve
  end module bezier

  program main
  !--------------------------------------program comment
  !  Version   :  V1.0   
  !  Coded by  :  syz
  !  Date      :  2010.05.13
  !-----------------------------------------------------
  !  Purpose   : Bézier曲线主函数
  !   
  !-----------------------------------------------------
  !  Post Script :
  !       1.
  !       2.
  !-----------------------------------------------------
  use bezier
  implicit real*8(a-z)
  integer::n,i
  real*8::r1(2),r2(2),r3(2),r4(2)
  real*8::t(0:20),x(0:20),y(0:20)
  open(unit=11,file='result.txt')
  do i=0,20
    t(i)=1d0/20*i
  end do
  !端点
  r1=(/1d0,1d0/)
  r4=(/2d0,2d0/)
  !控制点
  r2=(/1d0,3d0/)
  r3=(/3d0,3d0/)
  call solve(r1,r2,r3,r4,21,t,x,y)
  write(11,101)
  write(11,102)((t(i),x(i),y(i)),i=0,20)
  101 format(/,T16,'Bézier曲线',/)
  102 format(3F12.6)
  end program main


出现错误:
PS D:\vscode> gfortran 1.f901.f90:114:22:   write(11,102)((t(i)),x(i),y(i)),i=0,20)                      1Error: Expected a right parenthesis in expression at (1)
编译器用的是VS Code


5万

帖子

99

威望

5万

eV
积分
112353

管理员

公社社长

2#
发表于 Post on 2018-9-3 18:55:00 | 只看该作者 Only view this author
这行多了个左括号
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

609

帖子

2

威望

4351

eV
积分
5000

Level 6 (一方通行)

3#
 楼主 Author| 发表于 Post on 2018-9-3 21:12:03 | 只看该作者 Only view this author
sobereva 发表于 2018-9-3 18:55
这行多了个左括号

感觉不多啊,括号都是相互配合的。。。

282

帖子

0

威望

3020

eV
积分
3302

Level 5 (御坂)

4#
发表于 Post on 2018-9-4 02:01:28 | 只看该作者 Only view this author
你程序中的那一行和贴出的报错信息那一行都不一样... 确定到底是哪个... 程序中的是正确的

5万

帖子

99

威望

5万

eV
积分
112353

管理员

公社社长

5#
发表于 Post on 2018-9-4 02:49:45 | 只看该作者 Only view this author
之前笔误,应当是多了个右括号
报错里提示的
write(11,102)((t(i)),x(i),y(i)),i=0,20)
应当为
write(11,102) ((t(i),x(i),y(i)),i=0,20)
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 21:09 , Processed in 0.617020 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list