Лучший способ определить / объявить структурированные данные в Mathematica? (для свойств связи робота NAO)

Я моделирую робота NAO, который опубликовал физические свойства своего звенья и сочленения (например, размеры, масса звена, центр масс, момент инерции массы относительно этого COM и т. д.). Верхняя часть туловища будет статичной, и я хотел бы получить сосредоточенные физические свойства статической верхней части туловища. У меня есть математика (тензоры инерции с теоремой вращения и параллельной оси), но мне интересно, какой метод лучше всего структурировать данные.

В настоящее время я просто определяю все как правила, метод, который я получил, просмотрев данные Import [] 'd из структур в MAT-файле. Я обращаюсь к атрибутам / свойствам со строками, чтобы мне не приходилось беспокоиться об определяемых символах. Кроме того, это упрощает создание имен для различных степеней свободы.

Вот пример того, как я это определяю: http://pastebin.com/VNBwAVbX

Я также подумываю использовать какой-нибудь ООП-пакет для Mathematica, но не знаю, как его легко определить.


person eacousineau    schedule 10.07.2011    source источник
comment
Я просто понял, что могу найти пакет ООП, а затем использовать что-то вроде MathOO и определить все это с помощью конструкторов ... Я тоже попробую это.   -  person eacousineau    schedule 11.07.2011
comment
Хотя пара пакетов ООП для Mma интересна, я не думаю, что они действительно работают с точки зрения производительности ... Я думаю, что просто использовать DownValues проще всего - это то, для чего Mma оптимизирована. Даниэль Лихтблау и другие рассказали о структурах данных в ММА.   -  person Simon    schedule 11.07.2011


Ответы (1)


Для этой задачи я взглянул на слайды Lichtblau, но не смог придумать простого способа применить его для определения моей структуры данных. В итоге я использовал MathOO, который выполнил свою работу, так как эффективность не была особой проблемой, и это было более или менее разовой сделкой.

person eacousineau    schedule 17.08.2011