爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8602|回复: 20

[讨论] 编程语言是部车,你选了其中哪辆?(matlab与fotran)

[复制链接]

新浪微博达人勋

发表于 2016-6-28 12:34:47 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
编程语言是部车,你选了其中哪辆?其中说到,Fortran是一辆非常简单的车,它能跑的很快,但条件是你必须沿着一条非常直的路开。很多人都相信,一旦学会了开Fortran车,你就不可能再学会开其它类型的车。Matlab是一款为初学者设计的车,它能跑不是很长的路程,跑在类似Mathematica车能跑到那种地形上。在这种地形上它驾驶起来很舒适,但绝对不能跑偏,否则你很难控制。正因为如此,势利小人甚至拒绝承认它是一部车。Python是一款绝佳的新手来开的车,开它你可以不要驾驶证。除非你想跑的特别快或想跑在未知的险恶地形上,你基本上不需要其它的车。那么,问题来了,对一个初学者,matlab与fortran如何选择?matlab更容易,fortran更快。
matlab相比Fortran,更加适合初学者,其脚本语言特点是一句一执行,适合没有任何编程经验的人学习,但是,随着处理数据量的增大,会出现两个基本问题,大矩阵造成的内存不足以及多层循环造成的时间开销大。对全球高分辨率空间数据动辄上万*上万的矩阵,笔者曾经在svd分析时耗时间很久,16g内存的电脑在matlab运行时基本卡住,无法干活;也处理过三天还没出结果的程序。当然也尽量去优化代码,比如matlab分块读取;预先分配内存;尽可能调用内置函数;向量化编程;使用mex转换C语言等.....
FORTRAN比较古老,其速度没得说,与C语言媲美,但是学习fortran代价要比matlab难很多,而且编程的时间要长很多,但是一旦运行起来,其执行效率有可能是matlab十倍百倍不止,气候中心的气候数据都是fortran编写处理的,可见其在气象上的重要。而且代码传承也不错。
其实,都学学比较好,综合来说,简单的肯定matlab好,但是万一遇到大的数据量还是用fortran,当然matlab也提供c语言/fortran/python等语言的接口,混合编程,可以把耗时的关键部分用fortran和c语言实现,主体部分还是用简单的matlab来写。

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-28 14:56:11 | 显示全部楼层
{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-6-28 16:07:39 | 显示全部楼层
fortran对于气象地学口的人,搞计算的话还是很好用的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-28 16:25:43 | 显示全部楼层
这个形象还是比较生动的,因为在学校就用fortran,所以用习惯了,有时候还觉得matlab难学呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-28 19:52:44 | 显示全部楼层
如果说fortran是部车,那只是辆手推车,之所以那么多人还在用,是因为他门槛低,好学易开,而且学校教怎么开这部手推车的人还很多,但是现在已经是汽车、飞机、宇宙飞船的时代了……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2016-6-29 07:45:54 | 显示全部楼层
老司机带带我,我要学Matlab
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-29 08:49:27 | 显示全部楼层
最近开始接触Fortran,怎么觉得不那么容易上手,那些语法规则跟其他常规语言差别蛮大,都有点想放弃学Fortran改MATLAB
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-29 10:15:55 | 显示全部楼层
必须Matlab
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-29 16:51:55 | 显示全部楼层
新手无经验,还是matlab好上手。最后楼主总结到位,混合编程把耗时的关键部分用fortran和c语言实现,主体部分还是用简单的matlab来写。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-30 08:13:30 | 显示全部楼层
matlab好上手~~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表