如何在Matlab中区分vpa和sym



标题已经说明了这一点。给定三个变量:

d = 2;
s = sym(2);
v = vpa(2);

如何识别哪个变量属于哪种类型。显然,为了识别替身,我可以做isa( d, 'double' )。但我所知道的所有识别符号变量的方法都不会区分vpasym,例如isa( s, 'sym' )isa( v, 'sym' )都返回true

vpa(2)是Luis Mendo在评论1,2中指出的符号。

您要查找的是isSymType(在R2019a中介绍(。

isSymType(s,'integer')
isSymType(v,'vpareal')

通过利用vpa是一个浮点数,可以在Matlab R2018b及更早版本中执行以下操作:

isAlways( s+10^sym(-100000)==s )
isAlways( v+10^sym(-100000)==v )

第一个返回false,第二个返回true。


不幸的是,这似乎不再适用于Matlab R2020a。

相关内容

  • 没有找到相关文章

最新更新