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

Matlab 1./diag(A)是什么意思?,matlab,matrix,vector,diagonal,Matlab,Matrix,Vector,Diagonal,所以我正在研究一个用MATLAB编写的代码。还有这两行奇怪的代码,我似乎不明白,也许有人能帮我一下?我对MATLAB是新手,我大部分时间都在用C语言编写代码 据我所知,diag(A)意味着它取矩阵A的主对角线的成员。但是直线的其他部分呢?特别是1/操作,它是做什么的 在下面的代码中 A是4x4矩阵,存储双类型值,b是系数向量,alpha是自由选择的向量(10,5,4,2) diag(A)返回矩阵A /是按元素的除法运算符,因此1./diag(A)从该向量中反转元素。 diag(1./diag(A

所以我正在研究一个用MATLAB编写的代码。还有这两行奇怪的代码,我似乎不明白,也许有人能帮我一下?我对MATLAB是新手,我大部分时间都在用C语言编写代码

据我所知,diag(A)意味着它取矩阵A的主对角线的成员。但是直线的其他部分呢?特别是1/操作,它是做什么的

在下面的代码中

A是4x4矩阵,存储双类型值,b是系数向量,alpha是自由选择的向量(10,5,4,2)

diag(A)
返回矩阵
A

/
是按元素的除法运算符,因此
1./diag(A)
从该向量中反转元素。
diag(1./diag(A))
从该向量返回对角线矩阵


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

感谢您的回复。我只是想澄清一下,如果我们有一个矩阵a,它是
a=[51170;26171;41217;]
那么
diag(a)=5657
1./(diag(a))=7565
,对吗?如果
diag(a)=5657
那么
1./(diag(a))=1/51/51/code>哦,谢谢,现在一切都清楚了,我可以继续了,谢谢你!
Atld=diag(1./diag(A))*A-diag(alpha)
btld=diag(1./diag(A))*b