MATLAB и gplot

Я пытаюсь найти способ построить ферму в MATLAB, я могу сделать это, используя матрицу смежности и функцию gplot, но это очень длинный подход, особенно если есть много узлов, связанных друг с другом. Есть ли более быстрый способ сделать это?

2 ответа

Я думаю, что gplot - хорошая функция для построения фермы. Однако может быть возможно упростить создание матрицы смежности.

Например, если ваш coordinates хранятся в массиве n-на-2, и для каждой пары узлов есть стойка, которая разделена менее чем на dMaxВы можете создать матрицу смежности следующим образом:

%# create a distance matrix
distMatSquared = coordinates * coordinates'; %' #SO formatting

%# create an adjacency matrix that has a 1 wherever
%# distMatSquared is smaller than dMax^2, and that has 0 everywhere else
adjacencyMatrix = distMatSquared < dMax^2;

%# plot the truss with circles at the nodes
figure,gplot(adjacencyMatrix,coordinates,'-o');

Если это ферма в смысле механики материалов:

http://www.mathworks.com/matlabcentral/fileexchange/2170-mastering-mechanics-1-using-matlab-5

и вспомогательная книга

http://www.amazon.com/Mastering-Mechanics-Using-MATLAB-Materials/dp/0138640343

Я написал некоторую визуализацию фермы и просто общую материальную мощь.

Другие вопросы по тегам