Bonjour.

J'ai crée une fonction matlab. A l'exécution, Matlab me renvoie le message d'erreur suivant:
??? Error using ==> plot
Conversion to double from cell is not possible.

Error in ==> kmoyennes at 19
plot(X(idx==k,1),X(idx==k,2),couleur(k),'MarkerSize',12);


Voici le code source:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function kmoyennes(X)
%--------------------------------------------------------------------
% Fonction qui affiche n clusters, limité à 7.
%--------------------------------------------------------------------
    n = input('Nombre de clusters:');
 
    opts = statset('Display','final');
 
    %Je définis une palette de couleur
    couleur= {'blue.', 'green.', 'red.', 'cyan.', 'magenta.', 'yellow.','black.'};
    [idx,ctrs] = kmeans(X,n,...
                    'Distance','city',...
                    'Replicates',7,...
                    'Options',opts);
     hold on
 
     for k = 1:1:n
         plot(X(idx==k,1),X(idx==k,2),couleur(k),'MarkerSize',12);
     end
 
     plot(ctrs(:,1),ctrs(:,2),'kx',...
        'MarkerSize',12,'LineWidth',2)
     plot(ctrs(:,1),ctrs(:,2),'ko',...
        'MarkerSize',12,'LineWidth',2)