优势如下:
1、FORTRAN历史悠久
自成立以来,距第一个FORTRAN计划诞生已有近50年的时间。长期以来,FORTRAN一直是科学计算语言的唯一选择。相比之下,C / C ++和Matlab迟了将近20年。
2、FORTRAN具有严格的语法要求
FORTRAN更适合严格的科学计算领域。就像瞎亏C不磨滚神会检查备察数组越界一样,如果访问了错误的地址,则计算结果是不可预测的。
3、FORTRAN可以直接对数组和复数进行运算
像C来完成两个矩阵的加法执行两个循环,或调用具有5个形式参数的函数一样,尽管C ++可以完成C = A + B的简单形式,但是基于矩阵类的定义及其成员函数,在重载运算符的基础上,矩阵的初始化成为矩阵类的初始化,增加了工作量。
而FORTRAN可以直接完成矩阵C = A + B。
4、FORTRAN是编译语言
与Matlab相比,FORTRAN是一种编译语言,Matlab与解释型语言类似,并且循环效率更高,因此,如果Matlab要使用很多循环,则必须调用C / C ++或FORTRAN程序。
扩展资料:
Fortran是矩阵运算最方便的语言,通常用于高能物理学,气象学,航空航天等领域的方程计算问题,计算矩阵(array)的计算非常有效。
MKL和IMSL是著名的数学库,Fortran在某些领域仍然受欢迎的原因是,一方面,Fortran具有强大的数学运算能力和高效率。 另一方面,这是因为前辈对于许多问题都有成熟的代码,所以直接使用即可,而不是先考虑算法的答案,然后再对其进行改进。
矩阵越大,方程越复杂,Fortran和matlab这两种语言之间的差异就越大。
一般如果型陵变量的值不是太多位数,用语句:write(*,*) x,y 即可实蚂租正现同行输出表示。如果变量有很多位(精确值很高,或者数值很大),可以加上编辑符命令:
write(*,100) x,y
100 FORMAT(1X,F15.4) !即变量总共占15个空位,小数点后保留四位有效数字。
这样写有个好处,就是无论数值有多大都可以实现同行表示,因为位子足够,闷悔不会发生跳行。
!一个求数组最大值或最小值的程序program main
implicit none
integer::n,v,p,a(3,3)
write(*,*) '按行输入数组元素,元素间羡启以空格分隔,输入完一行后回车'
do n=1,3
read(*,*) a(n,:)
enddo
write(*,*) '查询最大值输入0,查咐培询兄简如最小值输入1'
read(*,*) p
if(p==0) then
call MatMax(a,v)
else
call MatMin(a,v)
endif
write(*,*) '查询的值为',v
end
subroutine Matmax(m,max)
implicit none
integer::m(3,3),max
max=maxval(m)
end subroutine
subroutine MatMin(m,min)
implicit none
integer::m(3,3),min
min=minval(m)
end subroutine
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)