我想使用符号符号来求解线性方程组。所以我准备下面的代码。
A=[1,2;3,4];
% syms x
x=sym('x_%d',[2 1]);
eqn=A*x==[1;2];
result=solve(eqn,x)
有趣的是,它可以工作,但是当我读取变量结果时,它给出了带有x_1的1X1结构,而x_2是1X1符号。但是我期望得到的应该是2个真实值,为什么呢?有人可以解释吗?备注:不想使用A ^ -1 * [1; 2]来获得答案。
答案 0 :(得分:3)
solve
将返回一个结构
包含所有解决方案的数据类型,以获取每种解决方案的使用
点.
的赋值,例如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]