Matlab: я хочу эмулировать хэш-карту трехмерных точек в список трехмерных точек. Какой самый лучший способ? - PullRequest
0 голосов
/ 18 января 2011

в основном, я хочу сделать

(.1,.2,.3) => ( (.1,.2,.2),(.1,.2,.1) )
(.2,.1,.1) => ( (.1,.1,.1) )

как бы это реализовать в matlab?

В Java это будет Hashmap<3DPoint, ArrayList<3DPoint>>

1 Ответ

0 голосов
/ 18 января 2011

Существует два способа сделать это:

Вы можете создать массив ячеек nKeys -by-2, например

{[.1,.2,.3], [.1,.2,.2;.1,.2,.1];...
[.2,.1,.1], [.1,.1,.1]}

Хотя массив ячеек может быть удобенчтобы манипулировать с помощью, например, CELLFUN , он не обеспечивает быстрый поиск.

Если у вас более новая версия Matlab, вы можете использовать класс MAP .Здесь числовые ключи могут быть только скалярами, но, используя NUM2STR , вы можете конвертировать трехмерные векторы в строки размером 1 на N.Убедитесь, что вы пишете «0,1» вместо «.1», чтобы избежать путаницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...