如何在MATLAB中计算方程中的符号变量数?
假设我有三个方程,比如如何在MATLAB中计算方程中的符号变量数?,matlab,equation,symbolic-math,Matlab,Equation,Symbolic Math,假设我有三个方程,比如[x1+x2+x3,-x1,x1+x2+1] MATLAB中有没有函数可以用来计算每个方程的符号变量数 提前谢谢 如果您想知道变量的总数,可以使用以下方法: >> syms x1 x2 x3 % define symbolic variables >> y = [x1+x2+x3, -x1, x1+x2+1] % define symbolic equation >> numel(symvar(y))
[x1+x2+x3,-x1,x1+x2+1]
MATLAB中有没有函数可以用来计算每个方程的符号变量数
提前谢谢 如果您想知道变量的总数,可以使用以下方法:
>> syms x1 x2 x3 % define symbolic variables
>> y = [x1+x2+x3, -x1, x1+x2+1] % define symbolic equation
>> numel(symvar(y)) % get number of sumbolic variables
ans =
3
要获得每个方程的变量数量,您可以使用以下建议:
这个循环遍历方程,得到每个方程的变量数量。我解释这个问题,因为每个方程中的变量数量需要分别找到
cellfun(@(k)numel(symvar(k)),children(y))
或者我是mistaken@SardarUsama你完全正确。我误解了这个问题。我想你应该在你的答案中包括这一点,因为我的建议只是在你的答案中加入一个循环。我的第一个评论是我最初的想法。使用以下命令会更简单:arrayfun(@(k)numel(symvar(k)),y)
@SardarUsama Done。谢谢
>> arrayfun(@(t) numel(symvar(t)), y)
ans =
3 1 2