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