我是一名计算机系统工程本科生,我想知道MATLAB和SCILAB除了SCILAB是免费软件之外,在计算机工程师的角度下它们各有什么优势和劣势。
谢谢
我无法深入细节,因为我没有广泛使用SCILAB。
但是从俯视角度来看,MATLAB是一款非常完善的软件,经过数十年的开发。价格也相应昂贵。它拥有大量专业的包,良好的支持,合理设计的用户界面,通常易于非计算机工程师使用。在工业界也非常普遍,所以在简历上写上它也不错。
但是如果您不需要非常复杂的功能(根据我在本科期间使用MATLAB的经验),并且不需要专业软件的稳健性和完善性,那么SCILAB可能会满足您的需求。
而且由于它基于MATLAB语言,如果您的需求发生变化或者您发现自己在一个默认使用MATLAB的环境中工作,您所学到的东西可以迁移过去。
Matlab是事实上的工业标准,现在就可以使用,并有一个强大的公司支持它。
Scilab长期以来一直是开源替代品,但老实说,它从未吸引过我。我认为他们或者从未足够相信这个项目,或者你需要太多的钱才能制作出这样一个有效的产品。
而且这真的很遗憾,因为我们迫切需要一个好的开源替代方案,因为开源是在不同平台上非常高效的唯一方法:实际上Matlab非常擅长原型设计小到中等规模的程序,但由于它是闭源的,很难将其扩展到超级计算机等大规模任务上,通常需要完全重写代码。
Sage可能是第三种选择,它具有很大的潜力,我会押注在它身上。请查看它。它不像Scilab那样重新发明轮子,而是将现有软件合并到一个新程序中。它基于Python,在计算领域获得了很大的动力,因为它既易于快速原型设计,又具有足够的灵活性,能够运行在超级计算机或GPGPU等异构平台上。
@ MatlabDoug
在小到中等规模的环境中是可行的,但对于非常大的任务,开源的灵活性是无价的。
从诸如Open-MPI这样的低级工具,可以让您精细调整应用程序,通过像PETSc这样的高级框架,可以减轻您很多工作量,再到Java和Python实现,可以让您专注于算法,忘记更底层语言的许多麻烦。
但真正的证明是,惊人的多数前500个超级计算机都倾向于使用开源替代方案。