Bonjour,
Je n'arrive pas à tester convenablement le résultat d'une division d'un élément de matrice par un autre. Je m'explique…
Je crée trois matrices
Elles sont donc en "double". Je remplis les deux premières colonnes de la matrice "cjmeasure.in" ainsi que la première colonne de "minprojin" et "maxprojin" à l'aide de résultats d'un calcul de programmation linéaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cjmeasure.in <- matrix(rep(0,4*l),,4) #create a vector to contain measures minprojin <- matrix(rep(0,2*l),,2) maxprojin <- matrix(rep(0,2*l),,2)
Ensuite, je remplis les deuxièmes colonnes de "minprojin" et "maxprojin" à l'aide d'un autre problème de programmation linéaire, et complète mes valeurs de "cjmeasure.in" à l'aide de division faites à partir de "minprojin" et "maxprojin". Typiquement :
Je souhaite enfin remplacer les éventuels valeurs égales à 1 dans "cjmeasure.in" par "NaN", de sorte qu'il reste de type "double".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cjmeasure.in[j,3] <- minprojin[j,1]/minprojin[j,2] cjmeasure.in[j,4] <- maxprojin[j,1]/maxprojin[j,2]
Et là, alors que la valeur de la colonne 4 de la ligne j vaut 1 (affiché "1" et non "1.0000000" comme dans les autres colonnes, chose assez étonnante!), elle n'est pas remplacée par NaN. Lorsque je teste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (cjmeasure.in[j,4] == 1) { cjmeasure.in[j,4] <- NaN }, la réponse est "FALSE".
Code : Sélectionner tout - Visualiser dans une fenêtre à part cjmeasure.in[j,4] == 1
Je ne comprend pas pourquoi. Quelqu'un pourrait-il m'aider/me guider?
Merci d'avance,
François
Partager