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
的对角线的倒数,其他地方都为零。
所以我正在尝试研究用 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
的对角线的倒数,其他地方都为零。