matlab2014可以运行,但6.5却不可以
的有关信息介绍如下:这是因为,在比较新的版本中,引入了一个新的功能,是旧版不支持的。
上面的话相当于没说,因为谁都能想得到是这样的原因。
要想解决题主的疑问,应该回答以下两个问题:
1、是什么功能?
2、从哪个版本引入的?
MATLAB的文档总体上是非常优质的,每个版本都有release notes,会详细列出该版本有那些变动。遗憾的是,我花了不少时间,却没有在release notes中找到关于这个功能的说明。因此,下面的回答有一些是我个人的理解,不一定准确,仅供参考。
1、是什么功能?
大致的名字叫做 arbitrary symbolic function,也就是任意函数。比如说,如果想定义一个关于变量x和y的函数f(x,y),但没有具体的函数表达式,这在早期的版本是难以实现的,而在新版本中就可以直接定义:
syms f(x,y)或者
syms x y
f(x,y)=sym('f(x,y')这类写法在早期的MATLAB中都是不允许的。在后面一种写法中,f(x,y)的括号会被理解为数组索引,而sym类型是不允许作为下标进行索引的,所以会遇到题主贴出的错误。而在新版本中,括号还被赋予了另一种功能——符号函数定义,所以就不会有问题。
要想了解更深入,建议题主看一下symfun和subsindex函数的相关文档。
2、从哪个版本引入的?
由于release notes里面没有找到相关的介绍,我又不可能把所有的MATLAB版本都安装了去测试,所以,没法提供很准确的回答。从我的电脑安装的几个版本看,2010a还没有这个功能,2012b则有。鉴于2012b是一个比较重要的版本(MATLAB 8.0),我倾向于认为是2012b引入的,但也不排除2010b、2011a、2011b、2012a这几个版本的可能。
就是因为新版加入的功能老版本没有额