error using the example script of PCA
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
data=imread('result.png');
>> [M,N]=size(data);
>> mn=mean(data,2);
>> data=data-repmat(mn,1,N);
??? Error using ==> minus
Integers can only be combined with integers of the same class, or
scalar doubles.
how to resolve it
0 commentaires
Réponses (1)
José-Luis
le 11 Fév 2013
Modifié(e) : José-Luis
le 11 Fév 2013
data = imread('result.png');
data = bsxfun(@minus,data,mean(data,2));
Note that this will not solve your problem, as the mean of integers will probably yield doubles. You probably want to do something like:
data = bsxfun(@minus,data,int8(mean(data,2)));
You can find the data type using:
whos data
and you could then modify the application accordingly (change the int8 to the appropiate type). Please accept an answer if it helps you.
2 commentaires
José-Luis
le 11 Fév 2013
Modifié(e) : José-Luis
le 11 Fév 2013
It means that mean(data) is not the same type as data. Have you tried what i suggested? What does
whos data
return before you run the script?
Alternatively you could convert everything to double. This should work:
data = double(imread('result.png'));
data = bsxfun(@minus,data,mean(data,2));
Voir également
Catégories
En savoir plus sur Dimensionality Reduction and Feature Extraction dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!