欠定系统

在欠定系统中,未知数比方程数要多。下面举几个欠定系统求解的例子。

在命令窗口中输入

code.matlab
>> R = fix(10*rand(2,4))
R =
       6     8     7     3
       3     5     4     1
>> b = fix(10*rand(2,1))
b =
       1
       2

线性系统Rx=b有两个方程及4个未知数。因为系数矩阵包含小的整数,所以可以用format命令按有理格式显示解。

code.matlab
>> format rat
>> p = R\b
p =
      0
     5/7
      0
   -11/7

第一个非零元素是p(2),因为R(:,2)是R中范数最大的列。另一个非零元素是p(4),因为R(:,2)被剔除以后,R(:,4)最显著。