MATLAB学习笔记:非齐次线性方程组的求解
>> A=[1 -1 1 -2;2 0 -1 4;3 2 1 0;-1 2 -1 2]; >> b=[2 4 -1 -4]; >> r=rank(A) r = 4 >> r1=rank([A,b]) r1 = 4 >> X=inv(A)*b X = 1.0000 -2.0000 0 0.5000
方程组有唯一解。
>> A=[6 2 3 4 5;2 -3 7 10 13;3 5 11 -16 21;2 -7 7 7 2;7 3 -5 3 10;13 5 -2 7 15]; >> b=[80 59 90 22 85 165]; >> r=rank(A) r = 5 >> r1=rank([A,b]) r1 = 5
方程组有唯一解
>> X=A X = 9.0000 3.0000 2.0000 1.0000 2.0000
>> A=[1 -1 -1 2;2 -2 1 -5;1 -1 2 -7]; >> b=[2 1 -1]; >> r=rank(A) r = 2 >> r1=rank([A,b]) r1 = 2
2<3有无穷多个解
>> X0=A Warning: Rank deficient, rank = 2, tol = 3.396629e-15. X0 = 0 -1.3333 0 0.3333 >> B=null(A,r) B = 1 1 1 0 0 3 0 1
X0是一个特解,B中的第一列b1,是第二列是b2,方程组的通解为X=X0+c1*b1+c2*b2,其中c1,c2是任意常数。
>> A=[0.1 0.005;0.2 0.045;0.3 0.045;0.4 0.08;0.5 0.125]; >> b=[0.045 0.12 0.2 0.33 0.52]; >> r=rank(A) r = 2 >> r1=rank([A,b]) r1 = 3
无解,只能求最小二乘解:
>> X=pinv(A)*b X = 0.1515 3.3804
所以,位移-时间函数为s=0.21*t+3.38*t^2。
下一篇:
限流、分库分表面试题