拥有方阵A
,我想i
使用对关联矩阵执行的操作将列中的所有对角线元素归零,如高斯消元中所述,
意思是R(t) = R(t)-m*R(i) | t > i
。
我试过A( (i+1):n,: ) = A( (i+1):n,: ) - (A( (i+1):n)/A(i,i))*(A(i,:))
没有运气。
您可以假设这i
不是最后一列。
编辑:
例如 - 对于i=1
以下矩阵A
成为——
因为m=1/4
和m=2/4
分别为 2nd 3nd row 。
我解决你问题的方法是通过基本的线性代数......
首先将残差行除以对角元素,将行向量乘以要移除的主列向量(产生一个*m 矩阵),然后从要操作的子矩阵中减去:
A(i+1:end,i:end) = A(i+1:end,i:end)- A(i+1:end,i)* A(i,i:end)/A(i,i)
问题出在产品上,您希望它是矩阵产品和组件产品之间的混合体。
这是摆脱问题的一种方法(也许不是最好的方法):
A( (i+1):n,: ) = A( (i+1):n,: ) - ((A( (i+1):n,: )/A(i,i)).*( ones(n-i,1) *(A(i,:))))
与向量的附加乘法创建一个矩阵,其大小与每行1
相同A( (i+1):n)
但具有相同的大小。A(i,:)
然后可以使用按组分的产品。这给出了没有显式循环的正确答案。