cs_liam
Messages postés5Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention12 septembre 2002
-
27 août 2002 à 11:23
cs_liam
Messages postés5Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention12 septembre 2002
-
28 août 2002 à 11:58
j'aimerai résoudre un systeme de 11 équations à 10 inconnues (impressionnant). cette résolution est enfantine quand on le fait à la main. cependant pour la programmer c plus chaud, car mon prog a des spécifités bien ch..., donc voila le topo:
ma matrice (6,5) avec en plus les totaux en lignes et en colonnes (en gras):
en faisant le calcul on voit qu'à certains endroits, à cause d'un probleme d'arrondi, la somme n'est pas exacte à + ou - 1 près. le prog va consister à calculer les nouveaux termes de la matrice afin d'avoir une somme correcte. pour ne pas trop déformer la réalité on décide de prendre comme inconnues, les valeurs max en ligne et en colonne en ne comptant qu'une fois la valeur max de la matrice, d'où 10 inconnues pour 11 equations.
on pose alors le calcul avec somme des termes en ligne, dans l'exemple:
117 + a -5 -10 + 89 = 398
.....
...
....
...
...
et en colonne:
117 + 34 + 0 + 0 -3 + b = -5
....
....
..
on résoud le système et on obtient nos bonnes valeurs.
ce systeme fonctionne avec tous les exemples que j'ai testé à la main.
il me maque donc le prog qui va sélectionner les inconnues, mettre le tout en équatio et surtout résoudre le système.
je sais c long mais si une star du vb pouvait me donner un petit tuyau je vous serais tres reconnaissant merci!
on a des valeur importées d'une base et arrondies de maniere logique
des totaux importés de la base et arrondis de maniere logique
probleme: la somme des arrondis (matrice 6,5) est parfois differente des arrondis de la somme (totaux en ligne et colonne)
le prog doit calculer les valeurs à remplacer dans le bleu clair pour que la somme soit correcte
les chiffres en beige sont fixés grace au premier bouton "ajuster les arrondis des sommes"
il n'y a que des entiers relatifs
avec mon algo on selectionne les max en ligne et en colonnes puis on resoud
dans cet exemple
on selectionne
207 -152
67 207 (c le max de la matrice on le comptabilise comme max ligne et colonne pour avoir une inconnue en moins)
43 -5
3 -10
-3 89
-197
en ligne en colonne
on pose le systeme en appelant les variables a,b,c,d,e,f,g,h,i,j dans l'ordre ligne puis colonne, on a alors:
117 + a +b +c +d = 398 (1ere ligne)
34 + e + 0 + 2 + 30 = 133 (2eme ligne)
,,,,,,
,,,
c+2+0+0+0+9=-18 (1ere colonne)
d + 30 + 0 + 0 + 0 -76 = 44 (2eme colonne)
on trouve facilement:
a=306
b= -6
c=-9
d=90
e=67
f=43
g=3
h= -3
i= -153
j= -197
les totaux sont correctes et la marge d'erreur est acceptable, mais je ne sais commnent le programmer