README.md 6,07 ko
Newer Older
Hamadou's avatar
Hamadou a validé
Voici le README mis à jour avec l'inclusion du package AlgLin et de la classe Helder dans la structure du projet :
Hamadou's avatar
Hamadou a validé

Hamadou Ba's avatar
Hamadou Ba a validé
# TP6 - Méthode des moindres carrés
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Description
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
Ce projet implémente l'approximation polynomiale par la méthode des moindres carrés. Contrairement à l'interpolation qui force la courbe à passer par tous les points, cette méthode cherche à minimiser la somme des carrés des écarts entre les points et la courbe.
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Auteur
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
- **Hamadou BA**
- Dépôt GitLab : [https://www-apps.univ-lehavre.fr/forge/bh243413/tp6-ps-methode-des-moindres-carrees.git](https://www-apps.univ-lehavre.fr/forge/bh243413/tp6-ps-methode-des-moindres-carrees.git)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Structure du projet
Hamadou Ba's avatar
Hamadou Ba a validé

```
Hamadou Ba's avatar
Hamadou Ba a validé
tp6-moindres-carres/

├── pom.xml                                # Configuration Maven
├── src/
│   ├── main/
│   │   ├── java/
Hamadou's avatar
Hamadou a validé
│   │   │   ├── AlgLin/                    # Package de résolution de systèmes linéaires
│   │   │   │   ├── Helder.java            # Résolution par factorisation LDR
│   │   │   │   ├── IrregularSysLinException.java
│   │   │   │   ├── Matrice.java
│   │   │   │   ├── SysLin.java
│   │   │   │   ├── SysDiagonal.java
│   │   │   │   ├── SysTriangInfUnite.java
│   │   │   │   ├── SysTriangSup.java
│   │   │   │   ├── SysTriangSupUnite.java
│   │   │   │   ├── SystTriangInf.java
│   │   │   │   └── Vecteur.java
│   │   │   │
Hamadou Ba's avatar
Hamadou Ba a validé
│   │   │   └── tp6/
│   │   │       └── ps/
│   │   │           ├── ModPoly.java       # Modèle polynomial
│   │   │           ├── ChartVisualizer.java # Visualisation graphique
│   │   │           ├── DataLoader.java    # Chargement des données
│   │   │           └── Main.java          # Classe principale
│   │   │
│   │   └── resources/                     # Ressources de l'application
│   │       ├── quadratic.txt              # Données quadratiques
│   │       ├── linear.txt                 # Données linéaires
│   │       ├── cubic.txt                  # Données cubiques
│   │       └── sinusoidal.txt             # Données sinusoïdales
├── imgReadme/                             # Images pour le README
│   ├── quadratic_deg1.png                 # Approximation degré 1
│   ├── quadratic_deg2.png                 # Approximation degré 2
│   ├── quadratic_deg3.png                 # Approximation degré 3
│   └── quadratic_deg5.png                 # Approximation degré 5
└── README.md                              # Ce fichier
Hamadou Ba's avatar
Hamadou Ba a validé
```

Hamadou Ba's avatar
Hamadou Ba a validé
## Fonctionnalités
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
- Approximation polynomiale par moindres carrés
- Choix du degré du polynôme
- Visualisation graphique des points de support et de la courbe d'approximation
- Sauvegarde des graphiques au format PNG
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Dépendances
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
- Java 11+
- Maven
- XChart (pour la visualisation)
Hamadou's avatar
Hamadou a validé
- Package AlgLin (bibliothèque de résolution de systèmes linéaires)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Installation et exécution
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
1. Clonez le dépôt :
```bash
git clone https://www-apps.univ-lehavre.fr/forge/bh243413/tp6-ps-methode-des-moindres-carrees.git
cd tp6-ps-methode-des-moindres-carrees
```
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
2. Compilez avec Maven :
```bash
mvn compile
```
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
3. Exécutez l'application :
```bash
mvn exec:java -Dexec.mainClass="tp6.ps.Main"
```
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
4. À l'exécution, l'application vous demandera :
   - Le nom d'un fichier de données (ex: quadratic.txt)
   - Le degré du polynôme d'approximation
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Exemples de résultats
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
### Approximation avec un polynôme de degré 1
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
![Approximation degré 1](imgReadme/quadratique_deg1.png)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
L'approximation linéaire (degré 1) est inadaptée pour des données quadratiques. La droite ne peut pas capturer la courbure parabolique des points.

### Approximation avec un polynôme de degré 2

![Approximation degré 2](imgReadme/quadratique_deg2.png)

L'approximation quadratique (degré 2) est parfaitement adaptée à ces données. La parabole suit idéalement la tendance des points.

### Approximation avec un polynôme de degré 3
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
![Approximation degré 3](imgReadme/quadratique_deg3.png)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
L'approximation de degré 3 reste très bonne. Le coefficient du terme en x³ est très proche de zéro, ce qui indique que ce terme contribue peu.
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
### Approximation avec un polynôme de degré 5
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
![Approximation degré 5](imgReadme/quadratique_deg5.png)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
Avec un degré 5, on commence à observer de légères oscillations, signe d'un début de surapprentissage. Le modèle s'adapte au bruit plutôt qu'à la tendance générale.
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
## Concept mathématique
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
L'approximation par moindres carrés minimise la somme des carrés des écarts :
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
![Équation des moindres carrés](https://latex.codecogs.com/png.latex?E%20%3D%20%5Csum_%7Bj%3D0%7D%5E%7Bn-1%7D%20%28y_j%20-%20p%28x_j%29%29%5E2%20%3D%20%5Csum_%7Bj%3D0%7D%5E%7Bn-1%7D%20%5Cleft%28%20y_j%20-%20%5Csum_%7Bi%3D0%7D%5E%7Bm%7D%20a_i%20x_j%5Ei%20%5Cright%29%5E2)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
La forme du polynôme d'approximation est :
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou Ba's avatar
Hamadou Ba a validé
![Polynôme d'approximation](https://latex.codecogs.com/png.latex?p%28x%29%20%3D%20%5Csum_%7Bi%3D0%7D%5E%7Bm%7D%20a_i%20x%5Ei)
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou's avatar
Hamadou a validé
## Méthode de résolution

Pour résoudre le système d'équations linéaires issu de la méthode des moindres carrés, nous utilisons la méthode de factorisation LDR implémentée dans la classe **Helder** du package AlgLin, au lieu de la méthode d'élimination de Gauss.

La factorisation LDR décompose la matrice du système A en trois matrices :
- L : matrice triangulaire inférieure avec des 1 sur la diagonale
- D : matrice diagonale
- R : matrice triangulaire supérieure avec des 1 sur la diagonale

telles que A = LDR.

La résolution du système s'effectue ensuite en trois étapes :
1. Résoudre Ly = b pour y
2. Résoudre Dz = y pour z
3. Résoudre Rx = z pour obtenir les coefficients x

Cette approche s'avère numériquement stable pour les systèmes issus de l'approximation par moindres carrés, même pour des degrés de polynôme relativement élevés.

Hamadou Ba's avatar
Hamadou Ba a validé
## Licence
Hamadou Ba's avatar
Hamadou Ba a validé

Hamadou's avatar
Hamadou a validé
Ce projet est fourni à des fins éducatives uniquement.