如何解决如何在Matlab中区分vpa和sym
标题已经说过了。给定三个变量:
d = 2;
s = sym(2);
v = vpa(2);
如何识别哪个变量属于哪种类型。显然,要确定双打,我可以做isa( d,'double' )
。但是我知道的用于识别符号变量的所有方法都无法区分vpa
和sym
,例如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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。