IDL和MatLab比较以及下载地址
发布时间: 2013-10-31
所属分类: IDL遥感应用教程
IDL和Matlab这两门语言我都接触过,matlab是在本科的时候上数字图像处理,而IDL则是最近才开始有所学习。综合而言,我两门语言都学习的比较浅显,所以这里做一个比较,给初学者一些参考。
不同之处
- 产品定位。Matlab属于应用在实验室内的产品,他的重点放在了分析和精度计算。IDL 的设计在于科学探索的视角。因为可视化是数据解译关键,所以IDL在图像处理、高级的3D图形上做了很多工作。并且,他对于海量的多维数据以 及相应的应用开发提供了完备的环境。
- 工具箱的形式不一样。 IDL将所有提供的工具全部集成在环境内部,以函数或者其它的形式出现,而Matlab则归类出各种工具箱,让用户自选购买,具有一定的灵活性,但这并不意味着他的每个工具箱的功能都很强大。比如,图像处理的工具箱就不及IDL。
- IDL5.5之后则自动支持多线程(CPU)的计算,大大地提高了计算速度,并且无需在代码中体现,将低了编程难度。这在数据量不断增加的今天则成为IDL闪光卖点。Matlab还不能做到这一点。(PS:关于这一点,笔者没有去做实际验证,不知道现在的版本的matlab是否支持,如果有相关资料,还请指教。)
- 数据类型的不同。 Matlab注重计算精度,但同时这也成为他面对大数量计算的瓶颈。尽管IDL与Matlab支持的数据类型是一样的,但是IDL具有更加灵活的处理方式。
- 图形显示方式的不同。Matlab只支持面相对象的图形显示,而IDL则提供直接图形法的选择,因为有时候,直接图形法更加方便。另外,Matlab不能 支持真体数据的显示,这将对于包括医学影像(Medical Image)、地质数据、大气以及环境科学方面的应用成为障碍。
- 应用开发与发布。这也是前面提到的产品定位问题,在此不再多讲。
- 网络解决方案。尽管Mathworks提供的CGI是基于网络的产品,但他只是类似ION Script,而不能提供ION Java所能给予用户的解决方案。
相同之处
- 他们都是用于支持多种数据格式的可视化分析的工具,他们具有跨越平台、基于矩阵以及高级语言的特点。
- 他们同时都可以提供高度集成的环境。
- 都提供相应的工具和设计环境支持GUI。
- 都可以提供面向对象的图形系统支持OpenGL的硬件图形加速。
- 都留有与其它语言的接口。
总结
- 强制性的双精度计算,有时使得Matlab在计算时内存的消耗达到实际数据精度的8倍,这就造成资源浪费的同时,束缚了处理数据量的能力。
- 琳琅满目的工具箱成为Matlab在市场上的双刃剑。
- Matlab在计算速度和内存的管理,仍然存在着一定的问题。
- Matlab不支持多线程(CPU)的计算方式。
- 当Matlab应用于实际工程的时候,困扰他的是数据量的问题,到目前为止,IDL在运行2G的雷达数据时没有问题。
- 就图像处理而言,IDL仍然是优于Matlab的工具。
- 对于外部语言的接口,IDL则有着更为广泛和方便的工具,无论是C、C++、Fortran或者ActiveX控件等等。
下载地址
IDL:点击这里下载
Matlab:点击这里下载
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子
Matlab的MPI并行不属于多线程?