Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Mathématiques
Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/01/2013, 10h51   #1
devhercule
Invité régulier
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 7
Points : 7
Par défaut formule mathématique tableau d'entiers

Bonjour et bonne année à tous,

je dispose d'un tableau de n entier [0..m], je voudrais avoir 0 pour les cases qui ont une valeur égale à 0 et 1 si la valeur est différente de 0.
par exemple {0, 0, 12, 0, 23, 10, 0, 19} => {0, 0, 1, 0, 1, 1, 0, 1}

et cela à l'aide d'une formule mathématique, je ne veux pas faire des conditions (si sinon).
je veux bien appliquer une formule sur les valeurs des cases et j'aurais le nouveau tableau

Et ce possible? et merci d'avance
devhercule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 12h37   #2
galerien69
Membre chevronné
 
Homme
F5(){F5}
Inscription : avril 2008
Messages : 450
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : F5(){F5}
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2008
Messages : 450
Points : 689
Points : 689
hello,

f(x)=1-(x-0.5-|x-0.5|)/(2(x-0.5))
x<1 =>f(x)=1-1=0
x>=1=> f(x)1-0=1
galerien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 14h00   #3
devhercule
Invité régulier
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 7
Points : 7
Merci beaucoup galerien
ca marche nickel pour le contexte d'entier que j'ai posé
reste a voir avec les réel (le cas ou x<=0.5) sinon c'est bon
thank you
devhercule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 10h34   #4
davcha
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 246
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 246
Points : 1 358
Points : 1 358
f(x) = x!=0
f(x) = x / (x+eps)
f(x) = sign( |x| )
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 17h01   #5
devhercule
Invité régulier
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 7
Points : 7
Je ne peux utiliser que DIV (division quotient) et MOD (reste de la division).
Y a t-il une solution pour ce problème en utisant ces deux outils?

Merci
devhercule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 12h25   #6
galerien69
Membre chevronné
 
Homme
F5(){F5}
Inscription : avril 2008
Messages : 450
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : F5(){F5}
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2008
Messages : 450
Points : 689
Points : 689
si DIV est tel que 5/2=2, alors
f(x) = x/(x-0.4)
f(0) -> 0
f(1) -> 1/0.6 =1
f(2) -> 2/1.4 =1
...
galerien69 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/01/2013, 02h04   #7
Graffito
Expert Confirmé Sénior
 
Avatar de Graffito
 
Inscription : janvier 2006
Messages : 5 389
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5 389
Points : 6 033
Points : 6 033
Une variante en entier de la solution de galérien69 :
f(x) = 3x Div (3x-1)
f(0) -> 0/-1 = 0
f(1) -> 3/2 = 1
f(2) -> 6/5 =1
...
__________________
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Graffito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h02.


 
 
 
 
Partenaires

Hébergement Web