【发布时间】:2017-03-20 21:57:00
【问题描述】:
我有一个“sym”类型的包含六个值(但它可以无限长)的向量。在这种情况下,向量具有数字和变量(所有类 sym)。
a=[0.6 ; x_1; 0; 0; x_2; 0]
我想编写一个算法来判断 a(1)=number、a(1)=zero 还是 a(1)=variable。
但如果x_1 和x_2 是符号变量,那么数组a 及其所有元素都会自动成为符号变量,即class(a(1)) 将返回'sym'(来自@horchler)。
【问题讨论】:
-
那么,如果你想写,为什么不写呢?请edit 提出您在minimal reproducible example 中尝试过的问题,并清楚地解释该代码的问题所在。Stack Overflow 不是代码编写服务。
-
@Adriaan 我在问一个我不知道答案的问题,可能有人有一个简单的解决方案。我知道它不是代码编写服务。但是我不知道如果我这样做了要编写的函数:如果 a(1)=='a symbol' 并将 x_2 与 0.6 区分开来,因为两者都是类 sym。
-
@SardarUsama:我想说为此使用正则表达式是“不好的方式”。
-
非常感谢您抽出宝贵时间提供帮助 :)
-
正则表达式在 Matlab 中很慢,符号变量/表达式是一个具有自己的方法的类,这些方法是使用它们的首选/安全方式。 The MathWorks 强烈反对在符号数学和字符串之间进行转换(请参阅许多符号数学文档页面顶部的注释,例如,here)。
标签: matlab symbols symbolic-math