Sinus, cosinus et autres fonctionstrigo

Sinus, cosinus et autres fonctionstrigo - Algo - Programmation

Marsh Posté le 25-07-2003 à 15:35:23    

Voila, je cherche un algo de calcul simple et non récursif pour obtenir une approximation à une précision arbitraire des fonctions : sin,cos,tan,acos,asin,atan et leur version hyperbolique sachant que je dispose seulement des fonctions : a+b,a-b,a*b,1/a,1/sqrt(a) , c-a*b et a*b+c.
 
j'ai cherché le forum et google mais je trouve que les developpements limités :/ et si je les utilisa à un ordre tres grand ben l'approx est merdique.
 
Merci d'avance
 
<<OOOOPS j'avais pas vu le post un + plus bas ...>>>
apparement c à coup de série entiére donc ? qqs précisions ?


Message édité par Joel F le 25-07-2003 à 15:37:29
Reply

Marsh Posté le 25-07-2003 à 15:35:23   

Reply

Marsh Posté le 25-07-2003 à 15:37:03    

Qu'est ce que t'entant par ordre très grand?
 
T'as essayé l'approx par polynome de lagrange?


Message édité par LetoII le 25-07-2003 à 15:37:29

---------------
Le Tyran
Reply

Marsh Posté le 25-07-2003 à 15:38:46    

LetoII a écrit :

Qu'est ce que t'entant par ordre très grand?
 
T'as essayé l'approx par polynome de lagrange?


 
Ben pour la précision dont j'ai besoin je dois allez à l'ordre 6/7 ou + ... et ca me prend trop de temps.
 
Lagrange c polynomial donc en x puissance y ... je peut pas me le permettre trop couteux.

Reply

Marsh Posté le 25-07-2003 à 15:41:36    

Joel F a écrit :


 
Ben pour la précision dont j'ai besoin je dois allez à l'ordre 6/7 ou + ... et ca me prend trop de temps.
 
Lagrange c polynomial donc en x puissance y ... je peut pas me le permettre trop couteux.


Demande à Harko de te le coder en assembleur magique qui va plus vite que tout!:o
Plus sérieusement je vois pas trop...

Reply

Marsh Posté le 25-07-2003 à 15:42:00    

Joel F a écrit :


 
Ben pour la précision dont j'ai besoin je dois allez à l'ordre 6/7 ou + ... et ca me prend trop de temps.
 
Lagrange c polynomial donc en x puissance y ... je peut pas me le permettre trop couteux.


 
 
Je crois que t'as de bonnes approx avec des poly d'orde inferrieur à 5 mais je suis pas sur.
 

skeye a écrit :


Demande à Harko de te le coder en assembleur magique qui va plus vite que tout!:o
Plus sérieusement je vois pas trop...


C déjà ce qu'il fait ;)


Message édité par LetoII le 25-07-2003 à 15:43:15

---------------
Le Tyran
Reply

Marsh Posté le 25-07-2003 à 15:46:47    

LetoII a écrit :


 
 
Je crois que t'as de bonnes approx avec des poly d'orde inferrieur à 5 mais je suis pas sur.
 
 
C déjà ce qu'il fait ;)


ah euh oui ca explique les restrictions dans l'énoncé... :sweat:

Reply

Marsh Posté le 25-07-2003 à 17:47:11    

Bon le DL 3 pour les fonctions hyperboliques semblent suffire ....
me retse les normales et les inverses :/

Reply

Marsh Posté le 31-07-2003 à 09:43:13    

T'as essayé les série entières?
 
Ca sera sasn doute pas très différents des dl mais bon  [:spamafote]


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 09:45:43    

faut que je retrouve les formule mais si je m'abuse, y a des x^n qui traienent non ? Si oui, I'm doomed car les exponentiation me coutent la peau des baloches :/

Reply

Marsh Posté le 31-07-2003 à 09:48:29    

Joel F a écrit :

faut que je retrouve les formule mais si je m'abuse, y a des x^n qui traienent non ? Si oui, I'm doomed car les exponentiation me coutent la peau des baloches :/


Pas grave avec ton nouveau compilo qui optimise 2 fois plus... [:ddr555]

Reply

Marsh Posté le 31-07-2003 à 09:48:29   

Reply

Marsh Posté le 31-07-2003 à 09:53:43    

Joel F a écrit :

faut que je retrouve les formule mais si je m'abuse, y a des x^n qui traienent non ? Si oui, I'm doomed car les exponentiation me coutent la peau des baloches :/


 
 x^3 ca coute plus ou moin cher que de faire x*x*x, ou c ce que ça fait derriere?


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 09:56:17    

D.L. ?

Reply

Marsh Posté le 31-07-2003 à 09:57:00    


Développement limité


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 09:58:35    

LetoII a écrit :


Développement limité

marde, j'avaispas ouvert mon oeil gauche, je proposais en fait, j'avais po vu

Reply

Marsh Posté le 31-07-2003 à 10:00:51    

Taz a écrit :

marde, j'avaispas ouvert mon oeil gauche, je proposais en fait, j'avais po vu


 
ha ok


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 10:11:26    

LetoII a écrit :


 
 x^3 ca coute plus ou moin cher que de faire x*x*x, ou c ce que ça fait derriere?


 
x^3 mon compilateur ne connait pas..
 
C'est en quel langage ?
 
LeGreg
edit: je ne parle évidemment pas du exclusive or..


Message édité par LeGreg le 31-07-2003 à 10:12:50
Reply

Marsh Posté le 31-07-2003 à 10:12:37    

legreg a écrit :


 
x^3 mon compilateur ne connait pas..
 
C'est en quel langage ?
 
LeGreg


 
 
Ct un racourcis pour désigner la fonction qui mettrait à la puissance n  :sarcastic:


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 10:13:39    

LetoII a écrit :


Ct un racourcis pour désigner la fonction qui mettrait à la puissance n  :sarcastic:  


 
oui mais si on ne connait pas cette fonction c'est un peu dur de repondre a ta question..
 
LeGreg

Reply

Marsh Posté le 31-07-2003 à 10:14:46    

legreg a écrit :


 
oui mais si on ne connait pas cette fonction c'est un peu dur de repondre a ta question..
 
LeGreg


 
Ben si joel il la connait puisqu'il travaille avec  [:spamafote]
 
EDIT: moi je peux pas inventer un nom de fonctino que je connais pas  [:spamafote]


Message édité par LetoII le 31-07-2003 à 10:15:35

---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 10:17:01    

LetoII a écrit :


 
Ben si joel il la connait puisqu'il travaille avec  [:spamafote]
 
EDIT: moi je peux pas inventer un nom de fonctino que je connais pas  [:spamafote]  


 
D'apres son post il ne connait que l'addition et la multiplication..
Ca m'etonnerait qu'il puisse faire un cube autrement et de maniere plus efficace qu'en faisant x*x*x.
 
LeGreg

Reply

Marsh Posté le 31-07-2003 à 10:18:13    

legreg a écrit :


 
D'apres son post il ne connait que l'addition et la multiplication..
Ca m'etonnerait qu'il puisse faire un cube autrement et de maniere plus efficace qu'en faisant x*x*x.
 
LeGreg


 
Ca fait presque une semeine j'avais oublié moi  [:ddr555]


---------------
Le Tyran
Reply

Marsh Posté le 31-07-2003 à 10:19:22    

c'est quoi le problème avec les D.L., je fais le boolay là, mais je comprends pas trop pourquoi t'es pas satisfait? et puis si je me souviens, les séries entières admettent des DL, donc, ça change rien.
 
sinon tu te tapes une tapes une table, à l'ancienne

Reply

Marsh Posté le 31-07-2003 à 10:23:29    

Joel, tu as droit au branchements ?
 
LeGreg

Reply

Marsh Posté le 31-07-2003 à 10:50:27    

Bon je recentre :
je bosse en altivec donc pas de branchement, tout inliné.
j'ai à ma disposition un cretain nombre de fonctions ultra-rapides précablés :
 
a+b
a*b+c
a-b
1/a
1/racine(a)
 
maintenant je dois évalué sin(x) (x quelconque) avec un mix de ces fonctions
sans sauts ni boucles.
 
J'ai implementé le sin avec les séries entiéres mais le pb ce que les x*x*x c trop lent :/
 
 
EDIT :
 
j'ai trouvé ca :
 
sin(x) = (-0.352173719 + 1.845955302*x - 0.005761952*x*x)/100
pour x <= 45
 
pour x > 45 degrees:
sin(x)  = sqrt(10000-100*sin(90-x))
 
ca a l'air correct ...


Message édité par Joel F le 31-07-2003 à 10:57:42
Reply

Marsh Posté le 31-07-2003 à 10:58:06    

taylor expansion ?
 
a mince si x est quelconque ben pouf (dommage que tu ne puisse pas le restreindre


Message édité par chrisbk le 31-07-2003 à 10:59:38
Reply

Marsh Posté le 31-07-2003 à 11:04:37    

Joel F a écrit :


j'ai trouvé ca :
 
sin(x) = (-0.352173719 + 1.845955302*x - 0.005761952*x*x)/100
pour x <= 45
 
pour x > 45 degrees:
sin(x)  = sqrt(10000-100*sin(90-x))
 
ca a l'air correct ...
 


 
ben quand je disais branchement je pensais a un truc comme ca: tirer parti des symetries du probleme..
 
LeGreg

Reply

Marsh Posté le 31-07-2003 à 11:22:49    

Put1 merde g pas fait gaffe :/
ca me force a faire un if a chaque fois :(
 
Bon back to the drawing board ...

Reply

Marsh Posté le 31-07-2003 à 11:29:02    

Joel F a écrit :

Put1 merde g pas fait gaffe :/
ca me force a faire un if a chaque fois :(
 
Bon back to the drawing board ...

c'est si lent que ça les fonctions de bases?

Reply

Marsh Posté le 31-07-2003 à 11:45:10    

les fonctions de bases sont pas lentes. Seules la multiplication répété de la même donnée pose probleme. Mon but est d'effectuer cette approche avec un minimum d'opérations (en evitant les exponentiation sauvage) et d emanière linéaire (cad sans if ou while)

Reply

Marsh Posté le 31-07-2003 à 13:16:00    


Juste une petite remarque sur le calcul des polygones :
 
((((-0.005761952*x) + 1.845955302) * x) - 0.352173719) /100
 
ca donne la même chose que ce qui suit  
 
(-0.352173719 + 1.845955302*x - 0.005761952*x*x)/100  
 
et ça enlève une multiplication.

Reply

Marsh Posté le 31-07-2003 à 13:42:25    

OUI !!
j'y avais pas pensez !
Merci :D
 
/me va tester ;)

Reply

Marsh Posté le 01-08-2003 à 05:19:38    

Me stupid mais c'est quoi un altivec
 
on dirait le nom d'un de ces dinosaures de l'info
(quand tous ces macro ordinateurs s'appelaient eniac, univac )
 
Quoique le jeu d'instructions me fait penser
aux combiner de ma Geforce..
 
Alors c'est une machine differentielle on chip ?
 
LeGreg

Reply

Marsh Posté le 01-08-2003 à 07:36:54    

legreg a écrit :

Me stupid mais c'est quoi un altivec
 
on dirait le nom d'un de ces dinosaures de l'info
(quand tous ces macro ordinateurs s'appelaient eniac, univac )
 
Quoique le jeu d'instructions me fait penser
aux combiner de ma Geforce..
 
Alors c'est une machine differentielle on chip ?
 
LeGreg


SIMD pour G4

Reply

Marsh Posté le 01-08-2003 à 09:51:10    

AltiVec est une extension SIMD pour les processuers G4,G5 de Apple/Motoroal/IBM. du MMx en beaucoup mieux quoi :D

Reply

Marsh Posté le 01-08-2003 à 09:54:54    

Bon si je déroule les DL de maniére à ls transformées en a+b*c ca a l'aire de marcher ... Je vais tester le tout je verrais bien ...

Reply

Marsh Posté le 01-08-2003 à 10:25:35    

le MMX c'est de la blague à côté... ça n'en a que le nom de SIMD

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed