学过线性代数都知道,先求出秩,根据秩的大小与向量的阶数比较判断出线性是否相关。求秩matlab用rank函数
rank函数格式
rank(A)
求下列矩阵判断是否线性相关并求出极大无关组
>> a1=[1 2 2 3]';
>> a2=[1 4 -3 6]';
>> a3=[-2 -6 1 -9]';
>> a4 = [1 4 -1 7]';
>> a5 = [4 8 2 9]';
>> A=[a1,a2,a3,a4,a5];
>> r=rank(A)
r =
3
>>
然后根据线性代数学科中极大无关组定义将阶梯形矩阵求出来,从右边往做取就行了。
化为阶梯形矩阵
[R,j]=rref(A)
A是矩阵
R是简化后的阶梯形
j是主元
>> [R,j]=rref(A)
R =
1 0 -1 0 4
0 1 -1 0 3
0 0 0 1 -3
0 0 0 0 0
j =
1 2 4
>> A1=A(:,j)
A1 =
1 1 1
2 4 4
2 -3 -1
3 6 7
>>
然后从这里就会发现A1就是它的极大线性无关组。