AVK如在comments也提到过,v_new = [0 1 0 0 1]
不正交于所有行A
。
说明: -
A=[1 0 0 1 0;
0 1 1 0 0;
0 0 1 1 0;
1 1 1 0 0]
对于A(1,:).*v = 0
到A(4,:).*v = 0
,
0 x x 0 x % elements of v so that it's orthagonal to the 1st row of A
x 0 0 x x % -------------------------------------------- 2nd row of A
x x 0 0 x % -------------------------------------------- 3rd row of A
0 0 0 x x % -------------------------------------------- 4th row of A
其中0
表示必须0
和x
术语表示其可以是0
或1
术语。
如果你看作为一个整体,前4列的v
必须零使输出是orthagonal到A
所有行。 第5列可以是或者是零或者1。
所以, v_new
可以是:v_new = [0 0 0 0 1]
或v_new = [0 0 0 0 0]
从上面的解释,你也可以看到,[0 1 0 0 1]
不orthagonal到第二和第4行的A
解决方案: -
要找到v_new
,您可以使用null
功能:v_new = null(A).'
这给:v_new = [0 0 0 0 1]
为此gfrank([A;v_new])
也给5
。
'v_new'与'A'的行不正交。你的意思是'v_new = [0 0 0 0 1]'? – AVK