matlab中非线性符号方程的矩阵化

matlab中非线性符号方程的矩阵化,matlab,matrix,symbolic-math,nonlinear-functions,Matlab,Matrix,Symbolic Math,Nonlinear Functions,我知道如何使用EquationMatrix函数将线性方程组转换为矩阵 syms x y z; [A, b] = equationsToMatrix([x + y - 2*z == 0, x + y + z == 1, 2*y - z + 5 == 0], [x, y, z]) %solution of the equation set A = [ 1, 1, -2] [ 1, 1, 1] [ 0, 2, -1] b = 0 1 -5 不幸的是,EquationToMatrix

我知道如何使用EquationMatrix函数将线性方程组转换为矩阵

syms x y z;
[A, b] = equationsToMatrix([x + y - 2*z == 0, x + y + z == 1, 2*y - z + 5 == 0], [x, y, z])

%solution of the equation set

A =
[ 1, 1, -2]
[ 1, 1,  1]
[ 0, 2, -1]

b =
  0
  1
 -5
不幸的是,
EquationToMatrix
不能用于非线性方程。如果我想把多个非线性方程转换成矩阵,有没有可能的方法? 例如,我有三个方程式:

 x^2 + y^2+ 1=0,
 x - y + 1=0,
 x^2+xy-2=0,
我想得到以下结果

 A=
   [1, 1,  1, 0,  0, 0 ]
   [0, 0,  1, 1, -1, 0 ]
   [1, 0, -2, 0,  0, 1 ]
我也有同样的问题。 我能找到的最接近的解决方案是将符号方程转换为函数handle(@): matlabFunction(一个‘文件’、‘函数’、,。。。 ‘vars’,{[v]}); a是我的符号表达矩阵。和v是符号变量。 你得到一个函数,它输入了v的名字,但它是一个数值函数,而不是符号函数。你可以在没有矩阵的情况下使用它。 (当然,我在解决一组ODE时遇到了问题)


干杯。

我能想到的最贴切的东西是“系数”,但这并不能完全满足您的需求。也许你可以用上一个例子中的系数列表和术语列表做些什么。