function D = pdist2( X, Y, metric ) ↑ Error: Function definition not supported in this context. Create functions in code file.

1 view (last 30 days)
function D = pdist2( mX,mY, metric )
if( nargin<3 || isempty(metric) ); metric=0; end;
switch metric
case {0,'sqeuclidean'}
D = distEucSq( X, Y );
case 'euclidean'
D = sqrt(distEucSq( mX, mY ));
case 'L1'
D = distL1( mX, mY );
case 'cosine'
D = distCosine( mX, mY );
case 'emd'
D = distEmd( mX, mY );
case 'chisq'
D = distChiSq( mX, mY );
error(['pdist2 - unknown metric: ' metric]);

Accepted Answer

Walter Roberson
Walter Roberson on 2 Apr 2020
You cannot copy and paste that into the command line. You would need to store it in a file named pdist2.m
You will also need to define distEucSq and other related functions.
That code appears to be part of Piotr's "Classify Toolbox". You should install that or you can probably get it from the Add-Ins Manager;

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!