fortran实用编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fortran实用编程

Fortran 实用编程 Fortran Coder 研讨团队 系列视频教程 关于 Fortran Coder Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性研讨团体。大多数由各行业高等学府学生,研究人员及生产一线的工作人员组成。 研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL,MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库。 关于本套视频 本套视频以解决实际问题为主要目的,旨在为您解答课本上较少涉及到的实际问题。通过本套视频,您会更容易了解: 如何查找错误?如何解决错误? 如何学习 Fortran2003 和 Fortran2008 语法? 如何用最通俗易懂的写法解决实际问题? 如何看懂别人的优秀代码并为自己所用?如何让自己的代码更优美、更普适? 本套视频由 Fortran Coder 研讨团队录制,供所有 Fortran 程序员和学习者免费自由的观看,您可随意的传播它。但请保证视频完整性。 我们将会不定期的更新本套视频,请持续关注我们的网站、QQ群! 同时,如果您对 Fortran 相关有自己的见解,并愿意通过录制视频的方式与其他人分享,请联系我们! 上节要点回顾 文件只有两种:文本文件和二进制文件,这是文件的本质 读取二进制文件三种方式:顺序、直接、流文件读取 顺序读取每笔记录可以不同长度,前后各4字节表示长度。是fortran特殊的文件格式。 直接读取每笔记录必须一样长,适合规则的数据格式。 流文件集各种优势于一身。简单,方便,快捷,完全可以替代前两种读写方式。 第十二讲 基础篇 第十二讲 语法之标准函数 讲解人:雪球 gao@ 讨论QQ群:2338021 1 标准函数的一般问题 2 数学数值函数 3 字符串和数组函数 目 录 4 其他函数 标准函数的一般问题 Fortran是一门编译型语言,虽然设计初衷是用于科学数值计算。 但它是较底层的,因此仅提供了非常底层的数学函数。绝大多数高层的数学问题,我们需要独立书写代码来实现。 语法内的函数虽然不多,但各有各的用法,与Excel / C / Matlab等也有差异。 因此,手边尽量备一个文档待查。(例如编译器的帮助文档) 下面简单介绍一下 IVF 帮助文档的查阅。 标准函数的一般问题 Fortran的函数,有严格的参数类型和返回值类型! 虽然很多语法内的函数提供了不同数据类型的版本,但并不是每一种都有! 比如 exp 函数,他提供了 real(4) / real(8) / real(16) complex(4) / complex(8) / complex(16) 但并没有提供 integer 的版本,因此: y = exp( 2 ) 是错误的写法 应该写为: y = exp( 2.0 ) 在IVF帮助文档中,绿色通常表示不规范写法 标准函数的一般问题 Fortran多数内部的数值函数有 Generic Name ,也有 Specific Name 绝大多数情况下,用 Generic Name 就足够了。 比如 sqrt 函数,他提供了 real 4/8/16 complex4/8/16 分别的名字叫 DSQRT/CSQRT 等 但实际上,只要对应的实参是real8 编译器就会选择用DSQRT来计算: y = SQRT( 4.0d0 ) 只有极少数情况下,才必须使用 Specific Name 例如,输入和输出的类型不一致,或者多个参数类型不一致。 标准函数的一般问题 Fortran的大多数内部函数,还是逐元函数(Elemental)。 所谓逐元,简单理解,就是但凡参数是单变量的,都可以是任意维度的数组 y = sin( x ) Do i = 1 , N y(i) = sin( x(i) ) End Do Real :: x(3,5) , y(3,5) y = sin( x ) y(1:2,:) = sin( x(1:2,:) ) 标准函数的一般问题 举例: a = a * 25 关于优化: 优秀的编译器提供优秀的优化方案,优化的作用是,使得计算方法通过一定的变换实现更快的执行。 b = a * 4 + a a = b * 4 + b 优化水平的高低是不同编译器的主要差别体现! 对于同一个数学问题,我们自己写代码实现,往往不如编译器厂家优化效果好。因此,绝大多数问题,如果能用语法内的函数,就不要自己写代码。 1 标准函数的一般问题 2 数学数值函数 3 字符串和数组函数

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档