更改沿對角線的元素

更改沿對角線的元素

如果我有一個如下所示的矩陣:

1 0 1 0 0
0 0 1 0 0
1 1 1 1 1
1 1 1 0 1
0 0 0 0 1

有沒有一種方法可以遍歷並將包含 1 的對角線元素替換為 0?

這是一個簡化的矩陣,我正在使用的矩陣實際上是 2965x2965,所以我希望將公式應用於矩陣的該大小,但只能使對角線變化而其他所有內容保持不變。

答案1

我可能會遺漏一些東西,但這似乎可以滿足您的需求:

Sub OneToZero()
    Dim N As Long, i As Long
    N = Columns.Count
    For i = 1 To N
        If Cells(i, i).Value = 1 Then Cells(i, i) = 0
    Next i
End Sub

相關內容