dga 发表于 2022-7-6 14:45:10

MATLAB解二元方程

两个方程解两个未知量,y1=a1*x1+b1*x2+c1;y2=a2*x1+b2*x2+c2;在MATLAB中利用solve()解出来两个未知量的解析表达式x1=……;x2=……;但发现其中一个输出量比如y2的一点细微变化就能引起x的很大误差,请问有没有什么数学方法可以解决这个问题?

northwolves 发表于 2022-7-7 16:51:37

设 $d1=a1*x1+b1*x2+c1,d2=a2*x1+b2*x2+c2$
则 $a2 b1 - a1 b2!=0$
$x1 =\frac{ b1( d2 -c2)-b2(d1-c1)}{a2 b1 - a1 b2}$
$x2 =\frac{ a2(d1-c1) - a1( d2 -c2)}{a2 b1 - a1 b2}$

lhmhz 发表于 2022-7-13 19:56:17

>> syms y1 y2 x1 x2
>> syms a1 b1 c1 a2 b2 c2
>> s=solve(y1==a1*x1+b1*x2+c1,y2==a2*x1+b2*x2+c2,);
>> s.x1

ans =

(b1*c2 - b2*c1 - b1*y2 + b2*y1)/(a1*b2 - a2*b1)

>> s.x2

ans =

-(a1*c2 - a2*c1 - a1*y2 + a2*y1)/(a1*b2 - a2*b1)
页: [1]
查看完整版本: MATLAB解二元方程