Sub 連立一次方程式(係数行列(), r)
Rem (c) Kaoru Fueda
Dim 最大値()
ReDim 最大値(r)
For i = 1 To r
If i < r Then
最大比 = 0
最大行 = i
For j = i To r
最大値(j) = 0
For k = i To r + 1
If Abs(係数行列(j, k)) > 最大値(j) Then
最大値(j) = Abs(係数行列(j, k))
End If
Next k
If 最大値(j) > 0 Then
If 最大比 < Abs(係数行列(j, i) / 最大値(j)) Then
最大比 = Abs(係数行列(j, i) / 最大値(j))
最大行 = j
End If
End If
Next j
If 最大行 > i Then
For k = 1 To r + 1
temp = 係数行列(i, k)
係数行列(i, k) = 係数行列(最大行, k)
係数行列(最大行, k) = temp
Next k
End If
Rem ここは講義では説明していません。
Rem ピボットが0の場合は最も0=0に近い行を第i行に移動して、後に無視する
If 最大比 = 0 Then
最小値 = 最大値(i)
最小行 = i
For j = i + 1 To r
If 最小値 > 最大値(j) Then
最小値 = 最大値(j)
最小行 = j
End If
Next j
If 最小行 > i Then
For k = 1 To r + 1
temp = 係数行列(i, k)
係数行列(i, k) = 係数行列(最小行, k)
係数行列(最小行, k) = temp
Next k
End If
End If
End If
Rem ピボットを1に
If 係数行列(i, i) <> 0 Then
For k = i + 1 To r + 1
係数行列(i, k) = 係数行列(i, k) / 係数行列(i, i)
Next k
Else
Rem ここは講義では説明していません。
MsgBox ("解けないので解の一つを0とします。")
For k = i + 1 To r + 1
係数行列(i, k) = 0
Next k
End If
係数行列(i, i) = 1
Rem ピボット以外を0に
For j = 1 To r
If j <> i Then
For k = i + 1 To r + 1
係数行列(j, k) = 係数行列(j, k) - 係数行列(i, k) * 係数行列(j, i)
Next k
係数行列(j, i) = 0
End If
Next j
Next i
End Sub
iPhone/iPadの「探す」対応 紛失防止タグ、ダイソーが1,100円で発売
-
100円ショップなどを運営する「ダイソー」から、Appleの「探す」に対応する紛失防止タグが発売されている。本体価格は1,100円で、Androidには非対応。
ダイソーのWebサイトでの商品紹介は以下にて。 紛失防止タ...
0 件のコメント:
コメントを投稿