[Maths] [Programmation] Résoudre système linéaire sur-défini

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

Je dois résoudre un système d’équation linéaire très simple, 2 équations avec 2 inconnues. Mon soucis c’est que c’est basé sur des données expérimentales et donc, dans un premier temps, j’ai 4 set de données (ie. 4 équations peuvent être écrites) mais toujours pour les deux inconnues que je cherche. Plus tard, je rajouterai encore des set de données afin de pouvoir avoir un résultat robuste (que mes 2 inconnues soient proches de la réalité).

Je ne sais pas bien quelle méthode serait la plus facile à implémenter ? Évidemment avec 3 ou 4 set de données je peux remplacer et vérifier si ça fonctionne manuellement mais quand j’en aurai une dizaine (ou plus) ça va devenir long.

Avez-vous une méthode en tête qui pourrait être satisfaisante ?

Merci!

+0 -0

Salut,

On pourra t’aider mieux avec plus de détails sur ton problème concret.

Ce que tu veux faire ressemble ressemble à une estimation des meilleurs paramètres d’un modèle étant donnés des échantillons entachés d’erreur. Le modèle est la forme de ton équation, les paramètres sont tes inconnues.

C’est un problème très courant en statistiques, et il existe différentes méthodes, qu’on regroupe sous le nom de « régression ». Il en existe de différentes sortes, mais la plupart consistent à estimer des paramètres minimisant une certaine définition de l’erreur par rapport à un modèle étant donné des échantillons.

Édité par Aabu

+2 -0
Auteur du sujet

Merci pour vos réponses. Désolé de revenir si tard.

Le système que je dois résoudre est celui-ci:

Modèle
Modèle

Pour faire simple, j’ai deux inconnues qui sont CdC_d et CcC_c. Il me suffit donc de seulement deux set de données avec Vd1V_{d1} etc (tous les autres paramètres). Sauf que ce sont des données expérimentales et donc pour le moment j’aimerais avoir 4 set de données pour avoir des valeurs de CdC_d et CcC_c plus robustes (et avoir des barres d’erreur). (Un set de données = deux points)

Je suppose que la meilleure manière de résoudre un problème pareil est numériquement mais je prends toutes vos suggestions !

+0 -0

Cette réponse a aidé l’auteur du sujet

Salut,

Ton modèle est de la forme suivante.

K=CdVd+CcVcK = C_d \cdot V_d + C_c \cdot V_c

C’est linéaire et donc tu peux faire une régression linéaire multiple pour trouver les meilleurs Cd et Cc. Tes observations sont des triplets (Vd, Vc, K). Tu peux en avoir plein, autant que tu veux.

Dans le langage de la régression linéaire, tu auras :

  • une variable endogène Ki=Vdrop,iCiK_i = V_{drop,i} C_i,
  • deux variables explicatives Vd,iV_{d,i} et Vc,iV_{c,i},
  • deux paramètres Cd et Cc.

L’estimateur des moindres carrés, c’est les valeurs de CdC_d et CcC_c qui vont donner les meilleures prédictions globales des KiK_i étant donnés les Vd,iV_{d,i} et Vc,iV_{c,i}.

Si tu utilises un outil de calcul scientifique (Matlab, Scilab, Python+numpy, …), tu as très certainement une fonction pour résoudre ce genre de problème. L’essentiel du travail est de mettre tes données en forme pour que l’ordinateur fasse le calcul pour toi.

Normalement, la page Wikipédia et la documentation de ton outil de calcul préféré devraient suffire, mais n’hésite pas à revenir si tu as des difficultés techniques !

Édité par Aabu

+2 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte