找到包含1和0的列在MATLAB(基本列)

7视图(30天)
我试图创建一段代码,可以识别的基本和非基本列矩阵。基本列将会是那些只包含1和0,1 s的安排必须是不同的根据矩阵的秩。例如,如果矩阵的秩2(变量排名),然后会有一个列和一个1在第0个指数和另一列1 1日指数。其余的值而不是1将0。因此基本列的个数必须相当于等级变量。的列不是基本只是非基本列。我不确定最好的方法代码这种事,准确展示基本和非基本列。请注意,可能有0基本列或非基本列。请索引从1开始识别基本和非基本列。在测试用例的输出X1 RREF矩阵的第一列从左而X3第三列。
代码:
(3 2 4;3 = 3 6];
RREF = RREF (A)
等级=(级)
测试用例
输出:
基本列:{X1, X2}
非基本列:{X3, X4, X5}
输出:
基本列:{X1}
非基本列:{X2、X3、X4}
输入:
输出:
基本列:{X1, X2, X3}
非基本列:{}

接受的答案

马特·J
马特·J 2023年3月7日
编辑:马特·J 2023年3月7日
我definiitely使用rref认为你不应该,这是一个非常原始的命令。相反,你应该使用这个FEX下载,
注意,基本列的选择不会是独一无二的,。
(3 2 4;3 = 3 6]
一个= 2×3
3 2 4 3 3 6
[X,我]= licols(一个);
A_reduced = X \;
A_reduced(+ 1:尺寸(A, 1),:) = 0
A_reduced = 2×3
1.0000 0 0 0 0.5000 1.0000
basiccols = A_reduced(:,我)
basiccols = 2×2
1 0 0 1
nonbasiccols = A_reduced (:, setdiff(1:尺寸(A, 2), I))
nonbasiccols = 2×1
0 0.5000

更多的答案(0)

类别

找到更多的在作用于对角矩阵帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的