关于使用符号数学求解方程组的问题
question about solving system of equations using symbolic math
我想用符号来求解线性方程组。所以我准备了下面的代码。
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
result=solve(eqn,x)
有趣的是,它有效,但是当我读取变量结果时,它给出了一个 1X1 结构,其中 x_1 和 x_2 是 1X1 符号。但是我期望得到的应该是 2 个真实值,为什么?有人可以解释一下吗?备注:不想用 A^-1*[1;2] 来得到答案。
- 如果设置输出为单变量
solve
returns一个结构
包含所有解决方案的数据类型,以获取每个解决方案的使用
点.
赋值,如result.x_1
或result.x_2
代码如下
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
result = solve(eqn,x);
result.x_1
% 0
result.x_2
% 1/2
- 如果你想要
result
作为一个数组,使用多输出格式,比如
result(1)
表示第一个变量,result(2)
表示第二个变量
代码如下
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
[result(1), result(2)] = solve(eqn,x);
result
% result = [0 , 1/2]
我想用符号来求解线性方程组。所以我准备了下面的代码。
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
result=solve(eqn,x)
有趣的是,它有效,但是当我读取变量结果时,它给出了一个 1X1 结构,其中 x_1 和 x_2 是 1X1 符号。但是我期望得到的应该是 2 个真实值,为什么?有人可以解释一下吗?备注:不想用 A^-1*[1;2] 来得到答案。
- 如果设置输出为单变量
solve
returns一个结构 包含所有解决方案的数据类型,以获取每个解决方案的使用 点.
赋值,如result.x_1
或result.x_2
代码如下
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
result = solve(eqn,x);
result.x_1
% 0
result.x_2
% 1/2
- 如果你想要
result
作为一个数组,使用多输出格式,比如result(1)
表示第一个变量,result(2)
表示第二个变量
代码如下
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
[result(1), result(2)] = solve(eqn,x);
result
% result = [0 , 1/2]