Matlab: matrice et moyenne de points
Fermé
Utilisateur anonyme
-
9 déc. 2009 à 11:15
ptidavid Messages postés 1273 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 16 février 2010 - 10 déc. 2009 à 14:03
ptidavid Messages postés 1273 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 16 février 2010 - 10 déc. 2009 à 14:03
A voir également:
- Matlab: matrice et moyenne de points
- Courbe de tendance matlab ✓ - Forum Matlab
- Interpolation de lagrange matlab ✓ - Forum Matlab
- Filtre moyenneur matlab - Forum Matlab
- Matlab 6.5 download - Forum Windows
- Filtre moyenneur et median - Forum Photo numérique
1 réponse
ptidavid
Messages postés
1273
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
16 février 2010
104
10 déc. 2009 à 14:03
10 déc. 2009 à 14:03
Bonjour à toi,
Tout d'abord, tu as marqué :
valeur du point = moyenne de (valeur du point à gauche + valeur du point à droite + valeur du point à gauche + valeur du point en haut )
puis dans ton programme :
k=B(i-1,j)+B(i+1,j)+B(i,j+1)+B(i-1,j);
Je me pose donc quelques questions :
- si c'est une moyenne, pourquoi tu ne divises pas la somme des valeurs de points par le nombre de valeurs, cad 4?
- ensuite, si ton point est en B(i,j), la valeur du point à gauche est B(i,j-1), celle du point à droite est B(i,j+1), celle du point à gauche toujours B(i,j-1) et enfin celle du point en haut B(i-1,j). Or dans ton expression de k n'apparaissent ni B(i,j-1), ni B(i,j-1)??
- autre souci, ta boucle : for i = 1:20
for j = 2:61
k=B(i-1,j)+B(i+1,j)+B(i,j+1)+B(i-1,j);
Si on se place au point B(1,1), la boucle en s'exécutant tentera de calculer k = B(0,1)+B(2,1)+B(1,2)+B(0,1). Or dans Matlab, l'indice minimum dans une matrice est 1, il n'y a pas d'indice 0 d'après mes souvenirs...? A vérifier.
- tu as 3 boucles dans ton programme : une while et deux for, mais il n'y a que deux end? Donc il manquerait la fermeture de boucle while.
Voici les erreurs vues au premier coup d'oeil.
Sinon l'erreur fait-elle référence à une ligne de ton programme en particulier?
Tout d'abord, tu as marqué :
valeur du point = moyenne de (valeur du point à gauche + valeur du point à droite + valeur du point à gauche + valeur du point en haut )
puis dans ton programme :
k=B(i-1,j)+B(i+1,j)+B(i,j+1)+B(i-1,j);
Je me pose donc quelques questions :
- si c'est une moyenne, pourquoi tu ne divises pas la somme des valeurs de points par le nombre de valeurs, cad 4?
- ensuite, si ton point est en B(i,j), la valeur du point à gauche est B(i,j-1), celle du point à droite est B(i,j+1), celle du point à gauche toujours B(i,j-1) et enfin celle du point en haut B(i-1,j). Or dans ton expression de k n'apparaissent ni B(i,j-1), ni B(i,j-1)??
- autre souci, ta boucle : for i = 1:20
for j = 2:61
k=B(i-1,j)+B(i+1,j)+B(i,j+1)+B(i-1,j);
Si on se place au point B(1,1), la boucle en s'exécutant tentera de calculer k = B(0,1)+B(2,1)+B(1,2)+B(0,1). Or dans Matlab, l'indice minimum dans une matrice est 1, il n'y a pas d'indice 0 d'après mes souvenirs...? A vérifier.
- tu as 3 boucles dans ton programme : une while et deux for, mais il n'y a que deux end? Donc il manquerait la fermeture de boucle while.
Voici les erreurs vues au premier coup d'oeil.
Sinon l'erreur fait-elle référence à une ligne de ton programme en particulier?