Matlab2008a:惊喜

   今天跑去实验室一看,周围用matlab的版本都换成2008a了。刘师兄问了我几个matlab是否支持OO与命令空间,俺以前也没碰过。回寝室查了下最新的版本,看了下新增的特性,最感兴趣的是下面三个特性:

  • New classdef keyword enabling you to define properties, methods, and events in a class definition file
  • New handle class with reference behavior, aiding the creation of data structures such as linked lists
  • Ability to manage namespace by placing classes and functions in packages


支持对象的定义,支持引用传参已经命名空间管理。这些都是高级语言常用的特性,但以前的MATLAB版本主要面向过程与算法,偏偏不支持这些特性。当程序规模非常庞大时,非常的难以管理。上个学期费时一个半月进行系统重构时,就非常迫切的感觉到,当程序规模扩展时,matlab真的不方便维护。而现在,通过这些新增的特性,很多问题将会轻松许多。比如说代码重用与命名重复,还有处理一些经典的数据结构,比如链表,图,将变得更为容易,等。

更详细的可以看这个页面:http://www.mathworks.com/products/matlab/whatsnew.html

里面有新特性的视频演示,非常的详细。

感觉matlab再寻求变化。以前只适用数值计算,善于用来进行算法模拟与仿真,而以后,很可能直接用于工程应用,就像是C++和JAVA样,在更大规模的场景得到应用。我挺喜欢MATLAB,所以,这场景令人期待。

下次找个时间,好好研究下这些玩意,嘿嘿。

另外,今天还遇到两个变态的问题:

1.matlab重名的问题。 matlab有一个计算矩阵大小的函数size, 比如说一个3x4的矩阵m,用size(m)就会得到矩阵的大小[3 4],但是今天,用这个函数的时候,会发现结果莫名其妙。一会儿说下标越界,一会儿变成不可理解的结果。无语。后来和刘师兄观察了下,然来是发生了重名。他的函数中有一句:

size = 10;

靠,就是这个。size本身就是一个变量了。再用size(m)就不是计算矩阵大小了。其输出结果不可预料,依赖于你计算大小的那个矩阵值。

2.java,无法找到main函数。一个学生的代码,明明有main函数,但eclispe这个傻冒就是没有run as application选项,在命令行下运行也是提示找不到main函数。无语。后来仔细一看,我靠,把public static void main(String[] args) 写成了 public static void main(String args),掉了个括号"[]",真是无语。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值