Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/09/2011, 16h56   #1
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Comment réaliser une interpolation linéaire 1D et 2D via visual basic et sans données d'une feuille excel?

Bonjour à tous,

J'ai un gros problème en ce qui concerne des macros sur les interpolations linéaires, ayant cherché pendant longtemps sur internet pour comprendre (cours de mathématique + programme sur les interpolations) je bloque sur deux problèmes :

-un concernant les interpolations linéaires 1D c'est à dire que dans un premier temps je souhaiterais écrire en langage VBA un algorithme qui calcule l'interpolation linéaire 1D (yi) en un point (xi) à partir de deux valeurs de coordonnées (x1,y1) et (x2,y2) puis un autre programme qui fasse la même chose mais pour deux vecteurs x et y (où x et y sont monotones et croissant)

J'ai commencé un programme avec 4 InputBox me demandant de rentrer les coordonnées x1, y1, x2, y2
puis de faire

m=(y2-y1)/(x2-x1)

MsgBox "On obtient une fonction affine yi= " & m & " xi +p"

Je pense que ce programme n'est pas complet (car nous ne pouvons pas trouver le "p"?) et je n'arrive vraiment pas à voir ce qu'il faut faire pour la suite, de plus les programmes que j'ai trouvé sur internet ne concernent que des macros utilisant des données de feuilles excel.

-Un deuxième problème concernant un algorithme qui calcule l'interpolation linéaire 2D (zi) en un point (xi, yi) à partir de deux valeurs de coordonnées (x1,y1,z1) et (x2,y2,z2) puis un autre programme qui fasse la même chose mais pour deux vecteurs x et y et une matrice z (où la taille de la matrice z est définie par la taille de x et y sachant que x et y sont monotones et croissant)


Merci d'avance à tous pour votre aide,
je continue mes recherches,
cloeclodesonoeuf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 01h09   #2
Invité régulier
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 7
Points : 7
Salut,

Pour déterminer une droite de régression y = a*x + b, le plus simple est certainement d'utiliser la fonction VBA Application.WorksheetFunction.LinEst qui correspond à la fonction matricielle DROITEREG d'Excel.

Exemple : coefficients de régression linéaire pour les points (1,3) (2,5) et (3,7)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Regression_Linéaire()
Dim y_connus() As Double
Dim x_connus() As Double
Dim Ordonnée_Origine As Double
Dim Pente As Double
 
ReDim y_connus(1 To 3)
ReDim x_connus(1 To 3)
 
y_connus(1) = 3
y_connus(2) = 5
y_connus(3) = 7
 
x_connus(1) = 1
x_connus(2) = 2
x_connus(3) = 3
 
Pente = Application.WorksheetFunction.LinEst(y_connus, x_connus, True, False)(1) ' Pente = 2
Ordonnée_Origine = Application.WorksheetFunction.LinEst(y_connus, x_connus, True, False)(2) ' Ordonnée_Origine  = 1
 
End Sub
Cdt,
n.
neozenfragance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h54.


 
 
 
 
Partenaires

Hébergement Web