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

 Réponse acceptée

Robin Kaiser
Robin Kaiser le 28 Jan 2020

0 votes

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

1 commentaire

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

Connectez-vous pour commenter.

Plus de réponses (3)

Fangjun Jiang
Fangjun Jiang le 27 Jan 2020

0 votes

Run the code and then run "license inuse". Only MATLAB is needed.

2 commentaires

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

Connectez-vous pour commenter.

Walter Roberson
Walter Roberson le 27 Jan 2020

0 votes

dist() is part of the Deep Learning Toolbox

2 commentaires

Robin Kaiser
Robin Kaiser le 28 Jan 2020
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);

Connectez-vous pour commenter.

Robin Kaiser
Robin Kaiser le 28 Jan 2020

0 votes

Thank you: this works
yours
Robin

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by