MATLAB: Following is the error while calculating euclidean distance using pdist2, what should i do ..

pdist2

testdata =
3×1 cell array
[54×6 double]
[44×6 double]
[44×6 double]
>> traindata
traindata =
8×1 cell array
[]
[]
[]
[50×6 double]
[47×6 double]
[38×6 double]
[31×6 double]
[43×6 double]
>> pdist2(testdata,traindata); Warning: Converting input data to double. > In pdist2 (line 232) Error using cast Conversion to double from cell is not possible.
Error in pdist2 (line 234) X = cast(X,outClass);

Best Answer

You need to convert your cells into matrix and then call _pdist2).
testdata = cell2mat(testdata) ;
traindata = cell2mat(traindata) ;
pdist2(testdata,traindata);