Arkadaşlar, visual basic dilini kendim oğrenmeye calıştım, epey yol aldığımı duşunuyorum. Bununla ilgili olarak neredeyse hic bulamadığım bir fonksiyonu yapmaya calıştım. Testlerim sonucu şimdilik hata vermiyor. Sizlerle paylaşmak istedim. Fonksiyonda daha pratik yapılabilecek şeyler varsa soyleyebilir misiniz? Ayrıca onerilerinize cok ihtiyacım olduğunu belirtmek isterim.
Public Function Det(ByVal matris(,) As Double, ByVal n As Integer) As Double
Dim Gauss_Matris(,) As Double
Dim sabit(,) As Double
ReDim Gauss_Matris(n - 1, n - 1)
ReDim sabit(n - 1, n - 1)
Dim isaret As Integer = 1
Dim satirdegisimi As Integer = 1
For i = 0 To n - 1
For j = 0 To n - 1
Gauss_Matris(i, j) = matris(i, j)
sabit(i, j) = matris(i, j)
Next
Next
'************************************ burada a(0,0)
'elemanının sıfır olması durumuna bakılıyor
If Gauss_Matris(0, 0) = 0 Then
Dim i As Integer = 0
Do Until Gauss_Matris(0, 0) 0
For j = 0 To n - 1
Gauss_Matris(0, j) = sabit(i + 1, j)
Gauss_Matris(i + 1, j) = sabit(i, j)
Next
i = i + 1
satirdegisimi = satirdegisimi * -1
Loop
End If
Dim oran As Double
For j = 0 To n - 1
For i = j + 1 To n - 1
tekrar1:
oran = Gauss_Matris(i, j) / Gauss_Matris(j, j)
For k = 0 To n - 1
Gauss_Matris(i, k) = Gauss_Matris(i, k) - oran * Gauss_Matris(j, k)
Next
'************************************ burada koşegen uzerindeki
'elemanların sıfır olması durumuna bakılıyor
If Gauss_Matris(j + 1, j + 1) = 0 Then
isaret = -1 * isaret
TextBox2.Text = isaret
For m = 0 To n - 1
Gauss_Matris(j + 2, m) = Gauss_Matris(j + 1, m)
Next
For l = 0 To n - 1
Gauss_Matris(j + 1, l) = sabit(j + 2, l)
Next
If j
nxn boyutlu matrisin determinantı
Programlama0 Mesaj
●26 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- nxn boyutlu matrisin determinantı