Calcul Matriciel

Contenu du snippet

Module Module1

    Sub Main()
        matrice()
        Console.WriteLine("Appuyez sur la touche 'Entrée' pour sortir")
        Console.Read()
    End Sub
    Private Sub matrice()

        Dim Determinant As Double
        Dim matrice_inverse(3, 3) As Double
        Dim matrice(3, 3) As Double
        Dim valeur As Double
        '//La matrice// 
        Console.WriteLine("Taper la matrice 3x3")
        For i As Integer = 0 To 3
            For j As Integer = 0 To 3
                Console.Write("----> ")
                matrice(i, j) = Console.ReadLine()
            Next
        Next

        ' //Affichage matrice 3x3 introduite... 
        Console.Write("La matrice 3x3:")
        For i As Integer = 0 To 3
            Console.WriteLine("t ")
            For j As Integer = 0 To 3
                Console.Write("t " & matrice(i, j))
                Console.WriteLine("")
            Next
        Next

        ' //Calcul du déterminant de la matrice 3x3 
        Dim det1 As Double
        det1 = matrice(0, 0) * ((matrice(1, 1) * matrice(2, 2)) - (matrice(2, 1) * matrice(1, 2)))
        Dim det2 As Double
        det2 = matrice(0, 1) * ((matrice(1, 0)) * (matrice(2, 2)) - (matrice(2, 0) * matrice(1, 2)))
        Dim det3 As Double
        det3 = matrice(0, 2) * ((matrice(1, 0) * (matrice(2, 1)) - (matrice(2, 0) * matrice(1, 1))))
        Determinant = det1 - det2 + det3
        If (Determinant = 0) Then
            Console.WriteLine("La matrice n'est pas inversible")
            Exit Sub
        End If
        Console.WriteLine("Déterminant = " & Determinant)

        ' //Afficher La matrice transposée 
        Console.WriteLine("")
        Console.WriteLine("La matrice transposée est:")
        For i As Integer = 0 To 3
            Console.WriteLine("t")
            For j As Integer = 0 To 3
                Console.Write("t " & matrice(j, i))
                Console.WriteLine("")
            Next
        Next

        '//Calcul de la matrice inverse 
        valeur = ((matrice(1, 1) * matrice(2, 2)) - (matrice(2, 1) * matrice(1, 2))) / Determinant
        Dim valeur1 As Double
        valeur1 = -((matrice(1, 0) * matrice(2, 2)) - (matrice(2, 0) * matrice(1, 2)) / Determinant)
        Dim valeur2 As Double
        valeur2 = +((matrice(1, 0) * matrice(2, 1)) - (matrice(2, 0) * matrice(1, 1)) / Determinant)
        Dim valeur3 As Double
        valeur3 = -((matrice(0, 1) * matrice(2, 2)) - (matrice(2, 1) * matrice(0, 2)) / Determinant)
        Dim valeur4 As Double
        valeur4 = +((matrice(0, 0) * matrice(2, 2)) - (matrice(2, 0) * matrice(0, 2)) / Determinant)
        Dim valeur5 As Double
        valeur5 = -((matrice(0, 0) * matrice(2, 1)) - (matrice(2, 0) * matrice(0, 1)) / Determinant)
        Dim valeur6 As Double
        valeur6 = +((matrice(0, 1) * matrice(1, 2)) - (matrice(1, 1) * matrice(0, 2)) / Determinant)
        Dim valeur7 As Double
        valeur7 = -((matrice(0, 0) * matrice(1, 2)) - (matrice(1, 0) * matrice(0, 2)) / Determinant)
        Dim valeur8 As Double
        valeur8 = +((matrice(0, 0) * matrice(1, 1)) - (matrice(1, 0) * matrice(0, 1)) / Determinant)

        '//Affichage m-1 
        Console.WriteLine("Voici la matrice inverse:")
        For i As Integer = 0 To 3
            Console.WriteLine("")
            Console.WriteLine("t = " & valeur & " t = " & valeur3 & " t = " & valeur6)
            Console.WriteLine("t = " & valeur1 & " t = " & valeur4 & " t = " & valeur7)
            Console.WriteLine("t = " & valeur2 & " t = " & valeur5 & " t = " & valeur8)
            Console.WriteLine("")
        Next
    End Sub
End Module

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.