Застревает в линии пересечения – алгоритм

Вопрос:

Im рабочая проводимость пленочных пленочных систем **. В моем алгоритме (N палочек) у меня есть матрица пересечения M (M – матрица NxN, M_ij = 1, если палки “i” и “j” пересекаются, а M_ij = 0, если палки “i” и “j” do не).

Также у меня есть 2 списка с конечными точками каждой палки. Кроме того, я могу вычислить точку пересечения (если есть) между палочками.

Я хочу рассчитать все расстояния между точками пересечения (1,2,3,… N) на следующем рисунке, не теряя информацию о связности (с которой связано пересечение):

enter image description here

На этом рисунке (A) находится система с палками.

Любая идея для кода, который делает это?

Im пользователь python + numpy.

Жду ваших ответов!

Thats много


Теперь у меня есть:

  • Q-узлы (пересечения Q-stick-stick)
  • список “NODES” = [(x, y, i, j) _1,…….., (x, y, i, j) _Q], где каждый элемент (x, y, i, j ) представляют точку пересечения (x, y) палочек я и j.
  • матрица “H” с элементами Q {H_k, l}. H_k, l = 0, если узлы ‘k’ и ‘l’ не соединены ребрами, а H_k, l = R_k, l = электрическое сопротивление, связанное с объединением узлов k ‘и’ l ‘(непосредственно пропорциональный длине ребра, соединяющего эти узлы).
  • список “nodes_resistances” = [R_1,….., R_Q].

Все узлы с “j” (или “i”) = N + 1 имеют электрический потенциал “V” для всех узлов с “j” или “i” = N.

Теперь я должен применить NODAL ANALYSIS для определения электрического тока через каждый из ребер и чистого тока. У меня нет никаких идей о том, как это сделать. Вы можете мне помочь?

Большое спасибо!

С уважением, Хосе Луис

Ответ №1

Первый шаг – определить, какие структуры данных необходимы для хранения информации о сети. Например, на языке программирования C я бы начал с 3 массивов структур (afaik эквивалент python – это списки кортежей).

Первая структура будет иметь информацию о каждом пересечении, включая идентификаторы пересечения и (x, y).

Вторая структура имела бы информацию о ручке, включая идентификатор палки, и сопротивление на единицу длины.

Конечной структурой будет структура соединения, которая будет содержать два идентификатора пересечения (конечные точки соединения) и идентификатор палки (палка, которая делает соединение).

Этот набор данных полностью описывает сеть, и как только вы настроите эту настройку, вы сможете перейти к следующему шагу: решение сети.


Следующий шаг – применить закон Кирхгофа и закон Ома к сети для создания большого числа линейных уравнений в большом (мы надеемся, равном) числе переменных. На рисунке ниже закон Кирхгофа говорит нам, что

 i13 + i23 - i34 = 0

enter image description here

Другими словами, сумма токов, втекающих в узел 3, должна быть равна нулю. (Поскольку i34 выходит из узла 3, он получает изменение знака.)

Тогда из закона Ома мы знаем, что

i13 = (V1 - V3) / R13
i23 = (V2 - V3) / R23
i34 = (V3 - V4) / R34

Подставляя обратно в первое уравнение, имеем

V1/R13 + V2/R23 + V3*(-1/R13 + -1/R23 + -1/R34) + V4/R34 = 0

Следовательно, мы имеем 1 уравнение из 4 переменных. Все, что нам нужно, это еще 3 уравнения, и мы должны уметь решать все V. Найдя N уравнений в N переменных, вам нужно придумать программное обеспечение, которое решает эту систему уравнений. Я не смогу помочь вам в этом. Удачи 🙂

Оцените статью
TechArks.Ru
Добавить комментарий