how can I compute distances:
I have a code which was running in matlab 2016:
Nat=1000;
pos=(rand(3, Nat)-0.5);
kr=dist(pos)+eye(Nat);
In my new matlab version (Matlab 2019), it seems to require an additional toolbox?
yours
Robin

 Accepted Answer

Robin Kaiser
Robin Kaiser on 28 Jan 2020
Thank you for your fast feedback. I tried and get the following reply:
'pdist' requires Statistics and Machine Learning Toolbox.
yours
Robin

1 Comment

kr = squeeze(sum((pos - permute(pos, [1 3 2])).^2,1)) + eye(NAT);

Sign in to comment.

More Answers (3)

Fangjun Jiang
Fangjun Jiang on 27 Jan 2020
Run the code and then run "license inuse". Only MATLAB is needed.

2 Comments

after "license inuse" I get
"matlab" as answer, but dist(pos) still does not work. Is this a backward incompatibilty?
It is not a backward incompatibility. dist() was never part of basic MATLAB. You probably had some third-party dist() function.

Sign in to comment.

Walter Roberson
Walter Roberson on 27 Jan 2020
dist() is part of the Deep Learning Toolbox

2 Comments

I see that
'dist' requires one of the following:
Deep Learning Toolbox
Navigation Toolbox
Robotics System Toolbox
Sensor Fusion and Tracking Toolbox
But I did not have those in my previous matlab version. So this seems to be a backward incompatibility?
No, it implies you used a third-party function before.
If you want to use basic MATLAB, then
kr = squareform(pdist(pos.')) + eye(Nat);

Sign in to comment.

Robin Kaiser
Robin Kaiser on 28 Jan 2020
Thank you: this works
yours
Robin

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!