符号函数系统的输入向量

Input vector to a symbolic system of functions

假设我写了一个包含 3 个可分离函数(方程组)的函数。 我想为变量的 3 个不同值计算此函数的值,但我不想使用“subs”函数。我想要做的是输入一个包含我的变量所需值的向量,并计算作为向量的主函数。我怎么能那样做?请注意,我不想按每个变量调用函数。这是我的代码:

syms x y z
f1 = symfun(x.^2+3.*x.*y,[x,y,z]);
f2 = symfun(z.^3+y-x.^3-12,[x,y,z]);
f3 = symfun(2*z+x.*y+z.*x+1,[x,y,z]);

f = [f1;f2;f3];

我的意思是计算f函数,例如:f([12 4 6])而不是f(12 4 5)

不是最优雅的,但我目前能想到的最好的方法是将它放在函数包装器中。这可能是将输入作为数组传递的一种方法。这将弥合索引要传递到 symfcn(符号函数)的数组输入之间的差距。

f([12 4 6])


function [Results] = f(Inputs)
syms x y z
f1(x,y,z) = x.^2+3.*x.*y;
f2(x,y,z) = z.^3+y-x.^3-12;
f3(x,y,z) = 2*z+x.*y+z.*x+1;

Sym_Functions = [f1;f2;f3];
Results = Sym_Functions(Inputs(1),Inputs(2),Inputs(3));
end