matlab中非线性符号方程的矩阵化
我知道如何使用EquationMatrix函数将线性方程组转换为矩阵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
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时遇到了问题)
干杯。我能想到的最贴切的东西是“系数”,但这并不能完全满足您的需求。也许你可以用上一个例子中的系数列表和术语列表做些什么。