我在大学里学习线性代数,我试图在Matlab中设计一个程序,可以给我一个矩阵的基本变量和自由变量的索引。函数pivot
会给我基本变量的索引。
有没有一个Matlab内置的函数可以给出矩阵的自由变量的索引?
以下是我用来查找枢轴的函数示例:
[B,pivot] = rref(A)
基本上,这个函数pivot
的作用是存储矩阵A的基本变量的索引。
您可以使用free_vars = setdiff(1:size(A,2),pivot)
。示例:
>> A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> [B, pivot] = rref(A)
B =
1 0 0 1
0 1 0 3
0 0 1 -3
0 0 0 0
pivot =
1 2 3
>> setdiff(1:4,pivot)
ans =
4