以下のようなマトリックスがあったとします。
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