Un peu de VB6.0

Discutez d'informatique ici !
mbass
Messages: 4
Enregistré le: 31 Juil 2007, 14:31

Un peu de VB6.0

par mbass » 31 Juil 2007, 15:52

J'ai un petit soucis avec Visual Basic 6.0, je doit créer un petit programme de calcul de volume de citerne mais je trouve pas (ou du moin j'ai pas le temps pour me plonger dans les entraille de VB, au boulot il me laisse pas le temps de chercher qu'un nouveau prog de diemsionnement de je ne c'est quel machine thermique arrive sur mon bureau... bref) la fonction arcsin.
Si quelqu'un a cette solution pour me dépanner sa serait vraiment sympatoche :) !!!
cordialment a vous



anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 31 Juil 2007, 16:01

mbass a écrit:J'ai un petit soucis avec Visual Basic 6.0, je doit créer un petit programme de calcul de volume de citerne mais je trouve pas (ou du moin j'ai pas le temps pour me plonger dans les entraille de VB, au boulot il me laisse pas le temps de chercher qu'un nouveau prog de diemsionnement de je ne c'est quel machine thermique arrive sur mon bureau... bref) la fonction arcsin.
Si quelqu'un a cette solution pour me dépanner sa serait vraiment sympatoche :) !!!
cordialment a vous

En VB.Net ca se trouve par l'appel de Math.Asin(angle); sinon, si tu ne trouves pas, tu peux la reprogrammer (la fonction) en utilisant un DL d'ordre 4 ou 5 et toutes les identités (notamment sin(pi-x) = sin(x), sin(-x)=-sinx)

mbass
Messages: 4
Enregistré le: 31 Juil 2007, 14:31

par mbass » 31 Juil 2007, 16:05

en VB.net je c'est komment faire merci mais je prog en VB6.0. Jen suis sur ke sa doit se faire mais komment? merci quand même pour tes lumières

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 31 Juil 2007, 16:32

mbass a écrit:en VB.net je c'est komment faire merci mais je prog en VB6.0. Jen suis sur ke sa doit se faire mais komment? merci quand même pour tes lumières

Malheureusement, je viens de vérifier, les fonctions trigo n'existent pas sur VB6. Par contre, les reprogrammer est un jeu d'enfant.

Soit l'angle en radian; on va trouver un DL a l'ordre 5 de sin(x) et ensuite vérifier la précision aux angles proches de pi/2.
Je ne vais pas m'embeter et écrire le tout sous forme de matrice, en premiere colonne la dérivée n-eme (avec comme ligne 1 le rang 0), suivi de la valeur de ceci en zéro:

Donc, un DL a l'ordre 5 de sin(x) donne:

Et donc notre approximation sera:

Vérifions si elle va bien pour x=pi/2.
sin(pi/2) = 1.
Tres bonne approximation: f(pi/2) = 1.0045248588637317. Si tu veux encore plus de précision, soustrais x^7/5040.

Ensuite, les petits tests logiques:
- Si x est compris entre pi/2 et pi, soustraire pi/2 et prendre la meme valeur.
- Si x est compris entre 0 et -pi/2, prendre sin(-x)
- Si x est compris entre pi/2 et pi, soustraire pi/2 et prendre sin(-x)
- Sinon, prendre sin(x).

Et pour l'arcsinus!! Meme méthode!

Et donc le DL, sauf erreur, donne:

mbass
Messages: 4
Enregistré le: 31 Juil 2007, 14:31

par mbass » 01 Aoû 2007, 07:25

Anima je te remercie je vai étudier sa de plus près. J'ai pas encore... :briques:

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 01 Aoû 2007, 08:03

Attends, je pense m'etre planté dans les dérivées:
0: Arcsin(x) = 0
1: = 1
2: = 0
3: = 0

Ca ne vaut vraiment pas le coup d'utiliser les DLs en zéro; il vaudrait mieux utiliser une valeur proche de zéro...

rene38
Membre Légendaire
Messages: 7135
Enregistré le: 01 Mai 2005, 11:00

par rene38 » 01 Aoû 2007, 09:23

Bonjour

Pourquoi ne pas utiliser la fonction Arctangente (Atn) connue de VB6.0 ?
Les valeurs de Arcsin(1) et Arcsin(-1) étant évidentes, on a,
Image

ciberrique
Membre Naturel
Messages: 11
Enregistré le: 19 Juil 2007, 16:07

par ciberrique » 04 Aoû 2007, 14:26

Salut, effectivement Arcsin n'est pas inclu nativement dans Vb6, donc pour faire un ArcSin voici comment on procéde ainsi :

Arcsin(X) = Atn(X / Sqr(-X * X + 1))

Attention au division par 0.

Sqr = racine carré
Atn = Arctan

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite