Calcul ecart type MATLAB [RESOLU]

Calcul ecart type MATLAB [RESOLU] - Divers - Programmation

Marsh Posté le 13-08-2014 à 15:14:52    

Bonjour a tous,  
 
Je demande votre aide, pour un bout ridicule de programme sous matlab.
 
Je souhaite calculer l'ecart type d'un groupe de pixel dans une image donnee.
J'utilise la fonction std(), mais une erreur est remontee du type :

Code :
  1. First argument must be single or double.


Voici mon code,  

Code :
  1. average=((I(i-1,j-1)+I(i-1,j)+I(i-1,j+1)+I(i,j+1)+I(i+1,j+1)+I(i+1,j)+I(i+1,j-1)+I(i,j-1))/9);
  2.         X =[I(i-1,j-1),I(i-1,j),I(i-1,j+1),I(i,j+1),I(i+1,j+1),I(i+1,j),I(i+1,j-1),I(i,j-1)];
  3.         Th_m=average-k*X;
  4.         Th_p=average+k*X; 
  5.             I=std(X(:));


J'ai essaye de calculer un autre ecart type en faisant :

Code :
  1. >> x=[1,2,1,2,1];
  2. >> std(x)
  3. ans =
  4.     0.5477


Et la, cela fonctionne...
 
Si quelqu'un voit ce qu'il y a comme erreur...
 
Merci
@+


Message édité par clubber43 le 13-08-2014 à 16:13:20

---------------
Merci
Reply

Marsh Posté le 13-08-2014 à 15:14:52   

Reply

Marsh Posté le 13-08-2014 à 16:13:04    

Autant pour moi, la réponse était sous mes yeux:  
 

Code :
  1. average=((I(i-1,j-1)+I(i-1,j)+I(i-1,j+1)+I(i,j+1)+I(i+1,j+1)+I(i+1,j)+I(i+1,j-1)+I(i,j-1))/9);
  2.         X =double([I(i-1,j-1),I(i-1,j),I(i-1,j+1),I(i,j+1),I(i+1,j+1),I(i+1,j),I(i+1,j-1),I(i,j-1)]);
  3.         x=std(X);
  4.         Th_m=average-k*x;
  5.         Th_p=average+k*x;


---------------
Merci
Reply

Sujets relatifs:

Leave a Replay

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