Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MATLAB中计算方程中的符号变量数?_Matlab_Equation_Symbolic Math - Fatal编程技术网

如何在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