【发布时间】:2021-07-09 00:10:37
【问题描述】:
我有一个上下对角三角矩阵,我想合并它们,还要添加一个对角线 1。
这就是我所拥有的......
upper = np.array([[0.90858992, 0.96590361, 0.95616282],
[ np.nan, 0.90055735, 0.8956839 ],
[ np.nan, np.nan, 0.94590614]])
还有更低的……
lower = np.array([[0.90858992, np.nan, np.nan ],
[0.96590361, 0.90055735, np.nan ],
[0.95616282, 0.8956839 , 0.94590614]])
这就是我想要制作的:
np.array([
[1, 0.90858992, 0.96590361, 0.95616282 ],
[0.90858992, 1, 0.90055735, 0.8956839],
[0.96590361, 0.90055735, 1, 0.94590614 ],
[0.95616282, 0.8956839 , 0.94590614, 1 ]])
有人对我如何实现这个预期结果有任何建议吗?我尝试过矩阵加法,但似乎无法正常工作
【问题讨论】:
-
x1=np.triu(upper)+np.tril(lower) ; out=x1-np.diag(np.diag(x1)-1)