RÉSOLUTION SYSTÈME D'ÉQUATIONS À TIROIR

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 14 janv. 2008 à 01:01
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 19 janv. 2008 à 13:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45419-resolution-systeme-d-equations-a-tiroir

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
19 janv. 2008 à 13:10
US_30> Ouai mais pour dire la verité : le fond ne m'interresse pas :p

Bonne prog

@+
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
19 janv. 2008 à 09:37
Oui, je n'avais pas songé à utiliser Split. Je vais le mettre à jour avec. Mais cela ne change rien au fond. Et si vous avez des idées pour généraliser la résolution, je suis preneur...

Amicalement,
Us.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
19 janv. 2008 à 01:55
US_30> Depuis quand VB force t'il les programmeur a ecrire tel ou tel chose ? si array ne convient pas utilise split et le tour est joué au lieu de :

Dim X() As Variant
X = Array("a","b","c")

Ecris :

Dim X() As String
X = Split("a,b,c")

Ce sera peut etre plus lent a l'appel de split() mais ce qui compte c'est le traitmeent des données du tableau X() et la tu peux gratter !

@+
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
18 janv. 2008 à 19:00
Voilà EARTSOFT ! Comme je l'ai dit plus haut, je l'avais commencé sans Variant, mais en voulant simplifier l'écriture avec "Array", on se trouve obligé de passer en variant pour l'appel à la fonction... C'est donc, un peu moins léger à la lecture, mais bon...
Tu me pardonneras, dans la partie 'vérification' d'avoir laissé en Variant, mais cela n'a aucune conséquence ici pour l'exécution.

Amicalement,
Us.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2008 à 08:27
US_30> Le variant, une question de presentation ??? haha ouai remarque c'est sur que si tu le vois comme ça faut pas chercher plus loin ! Le projet est surement trop peu avancé (dans le sens trop recent) pour que tu t'interresses a ça mais tu y viendras c'est sur.

@+
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
17 janv. 2008 à 22:28
Bonsoir Jack,

Eurekâ ? je ne conais pas... et le bon vieux temps ? ben... si... j'ai 107 ans, alors tu penses !... -:);

N'empêche si tu as le code (d'Eureka) ou un code approchant, je suis preneur... ou même une autre façon de faire... A noter, que je n'ai jamais vu d'équivalent sur VBF... mais c'est vrai que VBF devient vaste aussi... De plus, l'interêt est énorme, du moins dans ce quoi je suis en tain de traiter... et les transpositions pour d'autres programmes ouvrent sûrement des grandes possibilités de simplifications...

Néanmoins, comme déjà dit, les équations doivent être à tiroir. C'est donc une restriction, pas trop forte, mais tout même... et j'aimerai pouvoir généraliser ce code pour tout type d'équation.

A tiroir, cela veut dire qu'on peut toujours résoudre une équation à partir d'une seule variable. Cette variable pouvant être défini par une équation (par exemple polynômiale)... donc, par exemple si on a le système suivant : (simple, juste pour illustrer)

1) y²+y+2 = x²-3x+1
2) x^3 = x²+x+1

on pourra le résoudre avec le code proposé, car grâce à 2), on trouve une valeur à x, puis grâce à 1), on trouve y... (je n'évoque pas ici la multiplicité des solutions)

La généralisation serait de pouvoir résoudre le système suivant (pas à tiroir) :

1) y²+y+2 = x²-3x+1
2) y+x^3 = x²+x+1

Ici, à la main, il faut faire des subtitution d'une équation dans une autre, avant de revenir au cas précédent à tiroir.

Le problème étant de trouver un algorithme numérique... Eurekâ ou lol... je suis preneur pour de bonnes idées sur le sujet...

=

Pour le Variant, c'est pas obligé de le garder comme cela... JE l'avais typé avant en String, Boolean, etc, mais l'utilisation de "Array" rend impossible de se passer du Variant. Mais ce n'est qu'une histoire de présentation en réalité...

=

Amicalement,
Us.
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
17 janv. 2008 à 21:51
Domage que ça sente un peu trop fort le variant a mon gout :p
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 janv. 2008 à 21:17
lol, ça me rappelle le bon vieux temps où j'utilisais un tout petit programme du nom de Eureka (X86 16 bits) qui faisait la recherche des paramètres à partir d'équations et/ou de contraintes ...
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
15 janv. 2008 à 00:20
Bonsoir,

> Madm@TT, non, non c'est pas qu'une impression... (je plaisante) -:); Merci.

> Moraissilva, "Evaluate" est une fonction du VBA et est inconnue sous VB6... Il me semble que la seule solution, c'est de programmer un interprêtateur d'expression mathématique... Il n'y en a quelqu'uns sur VBF pas trop mal (je pense à ViolentKen) et le snippets d'EBArtSoft ici http://www.codyx.org/snippet_calculer-expression-simple_63.aspx qui conviendra de complèter...

Amicalement,
Us.
moraissilva Messages postés 14 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 20 février 2014
14 janv. 2008 à 11:16
Error message: Evaluate - sub or function not defined...
Help.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
14 janv. 2008 à 01:01
Le principe est très intéressant, bravo pour toutes ces explications. J'ai l'impression de me coucher moins bete ce soir ^^
Rejoignez-nous