学习fortran中遇到的简单问题

为当前最终发行版之前的所有版本提供支持
回复
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

学习fortran中遇到的简单问题

#1

帖子 jinjiachen » 2013-03-13 13:52

例:一个式 ax2+bx+c=0 的 fortran 程序(本程序并不完善,请指出原因)
Program root
a=1.0
b=3.0
c=2.0
d=b**2-4*a*c
r1=(-b+sqrt(d))/2.0*a)
r2=(-b-sqrt(d))//(2.0*a)
write(*,*) r1,r2
end
以上是题目,我运行了一下,是有错误的,看了下,发现除法多了个/,修改后再运行,出现如下提示:
gfortran test.f90
test.f90:7.5:

r1=(-b+sqrt(d))/2.0*a)
1
Error: Invalid character in name at (1)
它的意思是什么?是指参数未定义吗?还是哪里出错了
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#2

帖子 月下叹逍遥 » 2013-03-13 15:00

完全没有问题。

1,运行:
gfortran test.f90 -o test
./test

2,变量最好申明类型。
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
送出感谢: 3 次
接收感谢: 68 次
联系:

Re: 学习fortran中遇到的简单问题

#3

帖子 lainme » 2013-03-13 17:23

r1=(-b+sqrt(d))/2.0*a)

括号不匹配。换个好点的编辑器吧,起码能显示括号匹配情况的。

implicit none 是个好习惯。
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

Re: 学习fortran中遇到的简单问题

#4

帖子 jinjiachen » 2013-03-13 22:45

lainme 写了:r1=(-b+sqrt(d))/2.0*a)

括号不匹配。换个好点的编辑器吧,起码能显示括号匹配情况的。

implicit none 是个好习惯。
嗯嗯,谢谢,我觉得vim挺好,也可以匹配括号,这是老师给的程序,复制下来的,所以没发现括号匹配情况,谢谢你的帮助 :em01
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

Re: 学习fortran中遇到的简单问题

#5

帖子 jinjiachen » 2013-03-14 13:50

Program test
Read(*,*)I,A,B,C
Write(*,100)I,A,B,C
100 Format(1x,’I=’,I4,5x,‘A,B,C=’,3F10.3)
End
我想控制下输出格式,以我现在的水平,看这个程序没有任何错误,可运行时提示有不认识的字符,以下是我编译时的输出
gfortran f.f90
f.f90:4.15:

100 Format(1x,\xE2\x80\x99I=\xE2\x80\x99,I4,5x,\xE2\x80\x98A,B,C=\xE2\x80\x99,3F10.3)
1
Error: Unexpected element '�' in format string at (1)
f.f90:3.11:

Write(*,100)I,A,B,C
1
Error: FORMAT label 100 at (1) not defined
格式表示不对?
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#6

帖子 月下叹逍遥 » 2013-03-14 13:57

引号的格式,要用英文引号'',而不是中文‘’
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
送出感谢: 3 次
接收感谢: 68 次
联系:

Re: 学习fortran中遇到的简单问题

#7

帖子 lainme » 2013-03-14 16:27

再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。

比如 Stephen J.Chapman 的《Fortran95/2003程序设计》,还有些编程习惯方面的东西。
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#8

帖子 月下叹逍遥 » 2013-03-14 16:30

lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。
好奇Fortran有没有风格这一说,应该给fortran加上PY的强制缩进,看起来才顺眼。。。

800多行的代码,看到猴年马月去啊。。。
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

Re: 学习fortran中遇到的简单问题

#9

帖子 jinjiachen » 2013-03-14 17:22

lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。

比如 Stephen J.Chapman 的《Fortran95/2003程序设计》,还有些编程习惯方面的东西。
有去了解过一些fortran的历史,你说的77是指对英文大小写都有规定,还有第几列有什么特殊用途之类吗?我现在后缀是.f90,就是以90的规则来的吧?不知道我理解的对不对,珳不另指出,麻烦了 :em06
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
送出感谢: 3 次
接收感谢: 68 次
联系:

Re: 学习fortran中遇到的简单问题

#10

帖子 lainme » 2013-03-14 18:06

月下叹逍遥 写了:
lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。
好奇Fortran有没有风格这一说,应该给fortran加上PY的强制缩进,看起来才顺眼。。。

800多行的代码,看到猴年马月去啊。。。
私以为标行号就算一个。

800行还多啊……
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#11

帖子 月下叹逍遥 » 2013-03-14 19:16

lainme 写了:
月下叹逍遥 写了:
lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。
好奇Fortran有没有风格这一说,应该给fortran加上PY的强制缩进,看起来才顺眼。。。

800多行的代码,看到猴年马月去啊。。。
私以为标行号就算一个。

800行还多啊……
对于一个非线性微分方程组,如何设计算法,通过调整系数,使其达到最优解?
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

Re: 学习fortran中遇到的简单问题

#12

帖子 jinjiachen » 2013-03-14 22:56

月下叹逍遥 写了:
lainme 写了:
月下叹逍遥 写了:
lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。
好奇Fortran有没有风格这一说,应该给fortran加上PY的强制缩进,看起来才顺眼。。。

800多行的代码,看到猴年马月去啊。。。
私以为标行号就算一个。

800行还多啊……
对于一个非线性微分方程组,如何设计算法,通过调整系数,使其达到最优解?
小白一个,说说自己的看法,非线性方程组最普通的解法,当然是松驰迭代咯?这个应该是最简单的了吧
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#13

帖子 月下叹逍遥 » 2013-03-15 23:54

jinjiachen 写了:
月下叹逍遥 写了:
lainme 写了:
月下叹逍遥 写了:
lainme 写了:再说点别的。最好不要用 fortran 77 那风格。找本 fortran 90 已上的书学吧。
好奇Fortran有没有风格这一说,应该给fortran加上PY的强制缩进,看起来才顺眼。。。

800多行的代码,看到猴年马月去啊。。。
私以为标行号就算一个。

800行还多啊……
对于一个非线性微分方程组,如何设计算法,通过调整系数,使其达到最优解?
小白一个,说说自己的看法,非线性方程组最普通的解法,当然是松驰迭代咯?这个应该是最简单的了吧
是微分方程组。。。解的算法是四阶龙格库塔法,现在是想办法通过修改系数得出最理想的解,通过分析结果,修改初始条件。。。
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: 学习fortran中遇到的简单问题

#14

帖子 月下叹逍遥 » 2013-03-15 23:56

遗传算法可不可靠?貌似是个出路,可惜不懂。。。。
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
jinjiachen
帖子: 2095
注册时间: 2012-12-16 15:43
系统: debian
送出感谢: 9 次
接收感谢: 27 次

Re: 学习fortran中遇到的简单问题

#15

帖子 jinjiachen » 2013-03-16 13:15

月下叹逍遥 写了:遗传算法可不可靠?貌似是个出路,可惜不懂。。。。
还没学到。。。继续深造中
回复

回到 “老旧版本支持”