上三角矩阵算法的逆

  • 本文关键字:算法 三角 matlab matrix
  • 更新时间 :
  • 英文 :


我有计算下三角矩阵逆的代码。如何从下面的代码中通过一点点的改变来计算上三角矩阵的逆?

function L = L_inv(A)
[n,n] = size(A);
L = zeros(n); 
for i=1:n
L(i,i) = 1/A(i,i);
for j=i+1:n
L(j,i)=-A(j, i:j-1)*L(i:j-1,i)/A(j,j);
end
end
end

矩阵转置的逆等于其逆的转置。因此,由于上三角矩阵只是下三角矩阵的转置,要找到上三角矩阵的逆,只需要将函数应用于其转置,然后再次转置结果。

n = 10; % dimensions of your matrix
U = triu(rand(n, n)); % create a random upper triangular matrix
Uinv1 = L_inv(U')'; % using your function
Uinv2 = inv(U); % using the built-in function
Uinv1 - Uinv2

打印两个结果之间的差异,你可以看到它们(几乎(完全相同。例如,在我的案例norm(Uinv1 - Uinv2) = 5.642266075279820e-15中。

相关内容

  • 没有找到相关文章

最新更新