matlab中syms不能使用,没有symbolic math toolbox,重新安装custom中也没有,下载了一个,然后怎么办??

matlab中syms不能使用,没有symbolic math toolbox,重新安装custom中也没有,下载了一个,然后怎么办??,第1张

通常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时是选装的,不过好像你不改动的话是选中的吧,默认应该是都装上的,除非你安装时去掉了。

1、syms命令是创建多个符号变量的简捷写法,

syms a b positive

相当于

a = sym('a','positive')

b = sym('b','positive')

所以,这种写法,a和b都是正的。

2、如果只想声明b是正数,那就考虑分开写:

syms a

syms b positive

但是,如果先syms a b,经过一系列 *** 作后,再声明syms b positive,也是有效的(但很显然只对声明为正之后的 *** 作有效)。下面是一个例子:

>> syms b

>> Dt=sym('Dirac(t-b)') 

Dt = 

Dirac(t-b)

 

>> laplace(Dt) 

ans = 

laplace(Dirac(-t+b),t,s)

 

>> syms b positive

>> laplace(Dt) 

ans = 

exp(-b*s)

值得特别指出的是,clear b并不会清除b的positive属性,例如在上面的代码后面,如果再进行下面的 *** 作:

>> clear b

>> laplace(Dt) 

ans = 

exp(-b*s)

 

>> syms b real

>> laplace(Dt) 

ans = 

exp(-s*b)-exp(-s*b)*Heaviside(-b)

 

>> syms b unreal

>> laplace(Dt) 

ans = 

laplace(Dirac(-t+b),t,s)

也就是说,除非用命令改变b的属性(或者用clear mex或clear all之类的做法强制重启符号计算内核),前面声明的positive或real属性会一直有效。

3、2011b之前的MATLAB,对符号变量的限定只有三种选择:复数(unreal,默认),实数(real),或者正数(positive),因而无法实现你希望b>=0的要求。2012a引入了三个函数:assume、assumeAlso和assumptions,可以对符号变量属性进行更多的限定,可以实现你的上述要求。更详细的信息请查阅这几个函数的文档。

4、据我所知,evalin用于指定在特定工作区内执行指定的命令(主要的作用在于从函数中访问基本工作区),像楼上所说的借助它对符号变量“进行更细腻的 *** 作”则是闻所未闻。

希望对楼主有帮助,有问题可追问。

一、syms用法:

1、我们首先需要知道syms是定义符号变量的函数,可以输入“helpsyms”,看一下syms的使用方法,如下图所示:

2、我们在命令行窗口中输入“symsm”,定义符号变量m,如下图所示:

3、输入“n=m^2+3*m-2”,可以拿符号变量m进行运算,如下图所示:

4、输入diff(n,m),可以进行求导,如下图所示:

5、按回车键,可以看到求导结果,如下图所示:

二、xlabe用法:

1、xlabel('time')此时x坐标轴表示的是时间,这里注意两个单引号要英文下输入。

2、如果一行写不完的话或者需要多行的话,xlabel({'time','(theobservationtime)'})

3、如果需要latex输入一些希腊字符,或者数学字符,别忘了前面打个斜杠,xlabel('-2\pi\leqx\leq2\pi')

4、如果需要输入上标或者下标的话,可以通过“^”和“_”进行输入。

例子:xlabel('p_0')xlabel('p^0')

5、如果需要设置特定的坐标轴颜色,具体命令如下:xlabel('time','FontSize',12,'FontWeight','bold','Color','r')


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11269684.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存