首页 > 试题广场 >

设有三对角矩阵(aij)n×n,将其三条对角线上的元素逐行地

[问答题]
设有三对角矩阵(aij)n×n,将其三条对角线上的元素逐行地存于数组B[3n-2]中,使得B[k]=aij,求:
(1) 用i,j表示k的下标变换公式;
(2) 用k表示i,j的下标变换公式。

推荐
(1) k=2(i-1)+j-1            (|i-j|≤1)
(2) i=(k+1) DIV 3 + 1    (0≤k≤3n-1)
j=k+1-2(k DIV 3)

发表于 2018-03-25 10:15:21 回复(0)
突破口应在中间对角线上的元素,也就是三角矩阵中行列值相等的元素(假设为aii),假如第一个元素a11为b0的话,a22为b3,a33为b6,也就是说,对角线上的元素的序号k=3*(i-1)(实际上在每个中间对角线元素之前的元素构成了(i-1)个“┏”,每个“┏”由三个元素构成).算过了特殊位置,我们再看一下它同一行附近的元素(假设为aij),这个元素和该行对角线上的元素相差的范围应取j-i,这种元素的序号k=3*(i-1)+j-i=2(i-1)+j-1.而且k的公式明显适合中间对角线上的元素.
所以k=2(i-1)+j-1, 而且i,j满足|i-j|
发表于 2021-02-24 21:53:43 回复(0)