1./diag(A) 是什么意思?

What does 1./diag(A) mean?

所以我正在尝试研究用 MATLAB 编写的代码。还有这两行奇怪的代码,我似乎无法理解,也许有人可以帮助我?我是 MATLAB 的新手,大部分时间我都在用 C# 编写代码。

据我所知diag(A)的意思是取矩阵A的主对角线的成员。但是这条线的其他部分呢?尤其是1./这个操作,是做什么的?

在下面的代码中

A is a 4x4 matrix, which stores double type values, b is the coefficients vector and alpha is a freely chosen vector (10, 5, 4, 2).

Atld=diag(1./diag(A))*A-diag(alpha)
btld=diag(1./diag(A))*b

diag(A) returns 具有矩阵对角线元素的向量 A
./ 是逐元素除法运算符,因此 1./diag(A) 反转此向量中的元素。
diag(1./diag(A)) returns 该向量的对角矩阵

所以,基本上,diag(1./diag(A)) 是一个矩阵,其对角线上有 A 的对角线的倒数,其他地方都为零。