想用sym定义一个矩阵式子,如b=syms('[exp(t);exp(2*t);exp(3*t)]'),但是执行后,matlab显示Undefined command/function 'sym',是什么原因啊?
我用的matlabr2006a。
是跟Symbolic Math Toolbox 有关吗?如果是,如何安装?
我刚开始用matlab,顺便问下,simulink,toolbox是要另装吗?
多谢!
通常symbolic math toolbox是随matlab安装时就装好的。
出现Undefined command/function 'sym'错误,
一种可能是路径没设置对,可以在File菜单里选择Set Path,里面有个Default恢复试试,或者手动添加symbolic math toolbox的目录也可以。
还有一种可能是你前面定义过sym,matlab认了你的sym不去找toolbox里的sym了。
如果都不对,那可能是少了文件了,重装一下matlab吧。
另外你的用法根本就是错的。
不能用syms,syms类似于定义变量,可以用syms x; 而不能用exp(x)这样的表达式。所以要用sym()
还有矩阵不能作为sym()的参数,只能是字符串。
应该这样写
b=[ sym('exp(t)') ; sym('exp(2*t)') ; sym('exp(3*t)') ]
每一个式子都要用一个sym,不能先组成矩阵再sym
simulink toolbox在安装matlab时是选装的,不过好像你不改动的话是选中的吧,默认应该是都装上的,除非你安装时去掉了。
出现Undefined command/function 'sym'错误,
一种可能是路径没设置对,可以在File菜单里选择Set Path,里面有个Default恢复试试,或者手动添加symbolic math toolbox的目录也可以。
还有一种可能是你前面定义过sym,matlab认了你的sym不去找toolbox里的sym了。
如果都不对,那可能是少了文件了,重装一下matlab吧。
另外你的用法根本就是错的。
不能用syms,syms类似于定义变量,可以用syms x; 而不能用exp(x)这样的表达式。所以要用sym()
还有矩阵不能作为sym()的参数,只能是字符串。
应该这样写
b=[ sym('exp(t)') ; sym('exp(2*t)') ; sym('exp(3*t)') ]
每一个式子都要用一个sym,不能先组成矩阵再sym
simulink toolbox在安装matlab时是选装的,不过好像你不改动的话是选中的吧,默认应该是都装上的,除非你安装时去掉了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-04-22
simulink我用过,不用另装
上面的Undefined command/function 'sym'
是说sym没定义,这个函数我没用过
我帮你试了下,你写成b=sym('[exp(t);exp(2*t);exp(3*t)]')试试看,我试了下,可以的
上面的Undefined command/function 'sym'
是说sym没定义,这个函数我没用过
我帮你试了下,你写成b=sym('[exp(t);exp(2*t);exp(3*t)]')试试看,我试了下,可以的
第2个回答 2009-04-22
b=sym('[exp(t);exp(2*t);exp(3*t)]')
或者
syms t
b=[exp(t);exp(2*t);exp(3*t)]
或者
syms t
b=[exp(t);exp(2*t);exp(3*t)]