Calcul Matriciel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 928 fois - Téléchargée 12 fois

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

Ajouter un commentaire Commentaires
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
11 avril 2017 à 16:25
Bonjour
le but de ce site est de mettre à disposition des codes pouvant servir d'exemples à des débutants. Donc
  • bien commenté
  • utilisant "toute la puissance" du langage, par exemple, en se servant de boucles pour faire évoluer les index d'une matrice.


Bref, l'idée n'est pas de déposer les premiers exercices d'un débutant.
Tu peux faire ça sur les réseau sociaux...

En plus pour le dépôt, tu ne fais même pas l'effort de d'utiliser la coloration syntaxique.
cs_Le Pivert
Messages postés
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022
129 > Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022

Modifié le 11 avril 2017 à 17:01
Bonjour Whismeril,

Je crois que nous avons de nouveau affaire à Orangead (Grizzli etc.) qui a pris un nouveau pseudo, vu la quantité de sources déposées et leur niveau depuis hier!

D'ailleurs certaines on étaient supprimées!


@+ Le Pivert
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596 > cs_Le Pivert
Messages postés
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022

11 avril 2017 à 17:47
Bonjour, pas sûr, ou alors il s'est amélioré en Français.
cs_Le Pivert
Messages postés
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022
129 > Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022

13 avril 2017 à 15:08
Je pense que si, il vient de reposter Division pour la 3ème fois.
Il a de la suite dans les idées.

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.