Pull to refresh

Comments 22

Я конечно не знаю, что у вас будет в следующей статье, но на самом деле цепи считаются не так.


Рассмотрим простейший вариант — статическая цепь, то есть цепь в которой не надо считать переходные процессы.


Для её расчёта используется метод узловых потенциалов(чаще) или метод контурных токов(реже).


Преимущества: любая конфигурация сети, любые элементы (конденсаторы и индуктивности), переменный ток работает так же как и постоянные без оверхеда. Если интересно — пишите в личку.

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

Метод узловых потенциалов решит проблему с мостом, но на данный момент не очень понимаю, как такое реализовать, потому и опустил этот метод
У Вас проблемы начнутся, когда Вы захотите рассчитывать цепь содержащую не только резисторы, но и индуктивности с емкостями. Например, сопротивление индуктивности комплексное: jwL и зависит от частоты. Сопротивление конденсатора 1/jwC так же зависит от частоты. Вот методы узловых потенциалов или контурных токов позволяют посчитать и переходные процессы и частотные характеристики цепей.
Осознаю такую сложность, но для этого проекта (в дальнейшем развитии) отказался от переменного тока, равно как и от конденсаторов и катушек индуктивностей.

возможно рассмотрю их, но это будет крайне не скоро
Я допускаю, что видимо Ваша задача состоит в изучении языка C/C++, а не изучении теории цепей. Читателям статьи это не понятно, отсюда и критика.
Цель действительно не в изучении цепей (иначе хаб был не разработка в физика или подобное), а в том, как такое сделать на интуитивно уровне (глава 1) и на уровне программиста (глава 2)
И какой же стандартный алгоритм вы в итоге реализовали?

Такого ужасного я, кстати, уже давно не видел.
Обход вершин в графе (ужасным способом, не скрою).

О том, как это сделать правильно (стек и прочие радости) будет в следующей статье.
Ну так стандартные алгоритмы — это обход в ширину/глубину. Я уже молчу, что они тривиальны, но у вас их еще и нет в статье про применение стандартных алгоритмов :)
Я практически уверен, что вы изобретаете тот еще велосипед. Перед реализацией такой задачи, очень советую прочитать матчасть: метод узловых потенциалов (уже упомянут в комментариях выше).
Если решать задачу по-настоящему, то стоит использовать модифицированный алгоритм:
Modified Nodal analysis

Основная статья по этому методу: Ho, Ruehli, and Brennan, «The modified nodal approach to network analysis».

А по-хорошему вообще надо было начать с того, как работает анализ по постоянному току в симуляторах типа SPICE.

Как уже ответил выше, цель не изучение цепей, а как можно такое запрограммировать
А в целом какая цель? Написать на Unity3D свой собственный симулятор цепей?
А когда планируете расширить элементную базу? Интересуют модели приводов, солнечных панелей, химических накопитилей, полупроводниковых приборов и ШИМ-контроллеров. Неплохо бы еще и осциллографы, желательно гальванически развязанные и с цифровыми анализаторами.
Боюсь, что из за отказа от переменного тока все эти прекрасные технические вещи не реализовать должным образом.

Потому их добавление зависит от добавления переменного тока в проект
Меня смутила (и возмутила!) первая же фраза статьи:
За время обучения не раз задавался вопросом: все эти хорошие и крутые алгоритмы чем могут помочь на практике?

То есть как это? Чем же это может помочь программисту знание алгоритмов? Сложный вопрос, дайте ка подумаю…
Не так часто на практике сталкивался с алгоритмами обхода и вот таковой попался в деле

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

А упомянутые крутые алгоритмы-то где? То, что написано выше, совсем не круто.

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

Это все же не уровень хабра. И код, и само отношение к алгоритмам как к чему-то далекому и малоприменимому на практике. Тут большинство все же «нюхали порох», и об алгоритмах знают не по наслышке, да и код пишут продакшн качества, а не, пардон, фарш из статьи :)
Не обижайтесь, это дружеский совет.
Sign up to leave a comment.

Articles