how can I compute distances:

6 次查看(过去 30 天)
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

采纳的回答

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

更多回答(3 个)

Fangjun Jiang
Fangjun Jiang 2020-1-27
Run the code and then run "license inuse". Only MATLAB is needed.
  2 个评论
Robin Kaiser
Robin Kaiser 2020-1-28
after "license inuse" I get
"matlab" as answer, but dist(pos) still does not work. Is this a backward incompatibilty?
Walter Roberson
Walter Roberson 2020-1-28
It is not a backward incompatibility. dist() was never part of basic MATLAB. You probably had some third-party dist() function.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2020-1-27
dist() is part of the Deep Learning Toolbox
  2 个评论
Robin Kaiser
Robin Kaiser 2020-1-28
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?
Walter Roberson
Walter Roberson 2020-1-28
No, it implies you used a third-party function before.
If you want to use basic MATLAB, then
kr = squareform(pdist(pos.')) + eye(Nat);

请先登录,再进行评论。


Robin Kaiser
Robin Kaiser 2020-1-28
Thank you: this works
yours
Robin

产品

Community Treasure Hunt

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

Start Hunting!

Translated by