免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1469 | 回复: 0
打印 上一主题 下一主题

矩阵实验室 Mathworks Matlab R2008a 发布 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-26 23:19 |只看该作者 |倒序浏览

今年3月,Mathworks推出了MATLAB一个重要的新版本,MATLAB 2008a,也叫做MATLAB 7.6。在这个版本里,MATLAB解决了几个长期以来固有的弊端,而且加入了一些重要的能力。这次的更新是非常aggressive的,可能代表了MATLAB的一种历史性的转型。
  • 完全实现面向对象编程。其实,在MATLAB的早期版本里面,也有class的概念,不过大家如果使用过的话,可能知道那是一种不太好的设计。功能不强,过程繁琐,而且,很多很tricky的地方,尤其是重载numel, subsref这类函数的时候。而新的设计抛开了历史包袱,现在写出来的类和在python里面写的长得差不多,舒服多了。这套设计,吸取(或者“抄袭”)了Python和C#的优点,除了支持封装(encapsulation),继承(inheritance),和多态(polymorphism)这些基本特性以外,还支持了一些新兴的特性,包括属性(property),事件(event),和静态方法(static method)。
  • 支持Handle类型——用另外一种说法,就是支持函数调用传引用。以前matlab传递参数只有一种方法,copy on write。就是说,当你传一个东西进去,如果它要发生改变,那么,这个东西会整个copy一份,然后修改会在副本上生效。这使得实现动态数据结构变得非常困难。比如一个列表,如果每添加一个元素,都要拷贝整个列表一次,将是什么效果呢?因此,传统上matlab擅长于以矩阵为基础的算法,但是对于以经典动态数据结构为基础的算法,比如动态列表,哈希表,搜索树,图等,就力不从心了。这个新版本终于引入了对引用的支持,这将使MATLAB实现经典数据结构和算法变得前所未有的轻松。现在,数值和统计算法与经典算法越来越多地合流,很多应用都需要同时使用两方面的算法,MATLAB的这个变化正好适应了这种需求。
  • 引入了名空间的管理。以前,MATLAB所有的函数都在同一个global的名空间下面。比如两个工具包里面出现了同名函数,解决起来很麻烦。比如现在有两个算法叫LDA,一个是Latent Dirichlet Allocation,一个是Linear Discriminant Analysis,在一个应用中需要同时用到两个算法,而写这两个算法的人各自把它们命名为lda.m,那么问题就出来了。一种naive的方法是改名字,不过会直接破坏掉那些toolbox里面对那个函数的依赖。而这个版本,它借鉴其它高级语言的经验,终于引入了namespace,给这个问题一个很好的解决。
    从这些特点看来,MATLAB这个版本的重要改变,就是全面吸收其它高级语言的特性,从一个数值运算语言开始迈向一个以数值计算为强项的通用语言,以应对复杂或者更大规模应用的需要。
    一直以来,由于matlab缺乏处理高级数据结构和建立复杂应用的能力,它有一个有力的竞争者numpy,这是python里面进行矩阵和数值运算的包,它建基于python这种著名的通用语言,并且提供matlab矩阵的部分能力。这次MATLAB的全面升级,对于numpy无疑提出了严峻的挑战。
    除了程序设计结构方面的变化,MATLAB 2008在多个方面也有重要进步。
  • 它的优化工具箱(optimization toolbox)首次引进了interior point algorithm。interior point algorithm在convex optimization中占有重要地位,并且性能优越。MATLAB optimization toolbox一直以为因为使用老式算法,性能太差,而饱受诟病。这次终于引入interior point,希望它的优化性能能得到显著改善。
  • 重写核心JIT引擎(运行时编译,可以显著提高运行效率),并且采用了最新的BLAS/Lapack核心,运算速度会有相当程度的提高。另外,还大幅度提高了对sparse matrix的计算速度。
  • 它的统计工具箱增强了对很多著名的统计算法的有力支持,比如HMM, GMM,还有NMF(Nonnegative Matrix Factorization),并且开始引入对蒙特卡罗采样的支持。
    Windows 版本下载:
    [鐭╅樀瀹為獙瀹.TLF-SOFT-Mathworks.Matlab.R2008a.DVD.ISO-TBE.iso (3.76 GB)

    Unix(Linux)版本下载:
    [鐭╅樀瀹為獙瀹.Mathworks.Matlab.R2008a.UNIX.DVD.ISO-TBE.iso (3.62 GB)


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/39544/showart_509261.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP