所以我试图研究用MATLAB编写的代码。还有这两行奇怪的代码行,我似乎无法理解,也许有人可以帮助我?我是MATLAB的新手,大多数时候我都使用C#进行编码。
据我所知,diag(A)表示它接受矩阵A主对角线的成员。但是线的其他部分呢?尤其是1. /操作,它有什么作用?
在下面的代码中
A是一个4x4矩阵,存储双精度类型值,b是系数矢量,而alpha是自由选择的矢量(10、5、4、2)。
23:35:47.059 [main] DEBUG org.hibernate.engine.spi.ActionQueue - Executing identity-insert immediately
23:35:47.062 [main] DEBUG org.hibernate.SQL -
insert
into
phone
(number, person_id)
values
(?, ?)
23:35:47.297 [main] DEBUG org.hibernate.engine.jdbc.spi.SqlExceptionHelper - could not execute statement [n/a]
java.sql.SQLIntegrityConstraintViolationException: Column 'person_id' cannot be null
答案 0 :(得分:1)
diag(A)
返回带有矩阵A
的对角元素的向量
./
是逐元素除法运算符,因此1./diag(A)
会从此向量中反转元素。
diag(1./diag(A))
从该向量返回对角矩阵
因此,基本上,diag(1./diag(A))
是一个矩阵,其对角线是A
的对角线的倒数,其他地方为零。