Partie arrondi de matrice sous matlab

Fermé
ammouna - 24 sept. 2008 à 09:53
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 24 sept. 2008 à 15:46
Bonjour,comment je peut calculer la partie arrondi des elements d'une matrice sous matlab avec une boucle simple qui nous donne une nouvelle matrice contenant les parties arrondis des elements de la premiere matrice.
exemple sur les nombres
la partie arrondi (5.8)=6
la partie arrondi (5.5)=5
la partie arrondi (5.2)=5

9 réponses

c'est exactement "round", mais je veut la programmer avec une boucle
0
j'utilise "round" dans mon prgramme matlab que je doit le convertir en une autre language pour faire l'implémentation, pour cela je doit remplacer round et plusieurs autres fonctions matlab en des boucles de calcul.
0
il ne faut pas utiliser round dans la boucle, peut etre des equations ou autrs choses
0
c'est ok pour un nombre mais non pour une matrice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
24 sept. 2008 à 10:32
essai round()
-1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
24 sept. 2008 à 12:58
matrice A et B :
B=round(A);
pourquoi faire une boucle ?
-1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
24 sept. 2008 à 13:13
bas c'est super simple !!
for i=1:size(A,1)
for j=1:size(A,2)
B(i,j)=round(A(i,j));
end
end
-1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
24 sept. 2008 à 13:39
Tu n'as plus qu'a recoder la fonction round alors, parceque je ne vois pas d'autre solution.
L'algo consiste à chercher l'entier ayant une différence inférieur à 0,5 avec le nombre à arrondir.
fonction arrondi (a)
entier tmp=1;
tant que abs(a-tmp)>0.5
tmp=tmp+1
retourne tmp
-1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
24 sept. 2008 à 15:46
Mais bordel, il suffit de faire le traitement pour chaque nombre de la matrice !!
Je m'énerve, mais tu y met de la mauvaise volonté ! Je te donne toute les solutions, tu n'as plus qu'a les remettre ensemble : tu fais une boucle (les deux for) sur les cases de la matrice, et dedans tu fait une boucle pour trouver le nombre entier. En quel langage veux tu transformer ton script ? car la plupart supportent la fonction round.
-1