Pull to refresh
169
178.5
Вячеслав @petuhoff

Моделирование сложных технических систем

Send message

Я сейчас наверное удивлю, но я поступил еще проще. Никаких фазификаторов блоков управления обратной связи тольк бак и клапан расхода в него

модель простого бака
модель простого бака

Взял только клапан и бак. Добавил меандр который меняет скорость открытия и закрытия клапана с частостой 10 секунд. При шаге интегрирования 0.01 секунд получил такой результат:

шаг интегрирования 0.01 секунда
шаг интегрирования 0.01 секунда

Расход входа в бак после интегратора красиво линейной пилой (нижний график) то растет то уменьшается. А вот все остальные параметры в баке уже не линены. Скорости изменения уровня уже не линейная, (второй график снизу) поскольку учитывается уровень в баке и гидрастатическое давление. Больше уровень больше давления и расход выхода (третий снизу) тоже больше - меняется по кривой траектории. И верхний график это сам уровень, плавное изменение согласно баланса общего расхода линейного выхода и нелинейного выхода.

Теперь возмем и зададим шаг интгерирования 5 секунда:

шаг интегрирования 5 секунд
шаг интегрирования 5 секунд

ДажПонятно что нижний график не поменялся у нас линейное изменение было 1000 точект стало всего две, но линия не поменялась не на грамм ровно та же пила.

Вопрос на засыпку: Точки расчета с шагом 5 секунд на всех остальных графиках совадают с точками расчета с шагом 0.01 секунда? Что вам подсказывает едиственно верное учение ВКПа? Если взять время t=5 секунд совпадет расход выхода, скорость изменеия уровня и сам уровень в этот момент времени у одной и той же модели, но расчитанной с разным шагом интегрирования?

Конечно сломал итрику видно что при 10 секундах графики уровня и скорости изменения на совпадают. Что бы оценить на сколько вывожу все на один график

вот так погрешность расчета получается
вот так погрешность расчета получается

Так что без всякого регулятора можно получить херню в модели если не включать голову и никаой ВКПа и ВКПб тут ничем не помогут, несмотря на исконно посконно воистину наивысшую степень паралельности

Красивая анимация. Когда по линии связи как вода ползет утощение. Это в рамках одного шага можно отразить последовательность вычислений? И судя по кнопкам можно последовательно двигатся по сложной схеме в рамках одного такта? Правильно я понимают?

Потому что это математика 18-го века!!!!!. Замена непрерываного процесса набором декретных решений последовательных точках по времени с заданным шагом. Если мне для расчета одного параметра нужны данные которые я еще расчитал в рамках перехода от точки t_{n} к точке t_{n+1}, я могут их взять с предыдущего шага расчета. Именно так и работает задержка на шаг интегрирования. Это элементарный простейщий и топорный как сумматор или делитель блок.

Все 4 вопроса - забредушки. Они не стоят времени на их прочтение, не то что обсуждения. С таким же успехом можно обсуждать квантово волновой дуализьм света, как причину истинной паралеьности ВКПа.

Реально в ВКПа в каждый автомат встроена задержка на такт. Все больше там ничего нет от слова совсем. Наличие или отсутсвие этой задрежки никакой паралельности или перпендикулярности в совйства пакета не приносит. Ваша "стпень параллельности", "инерционность автоматов", "пространство скоростей" это фикции головной субстанции которые порождены мозгом не знакомым с основами диференциального исчисления и численных методов решения диференциальных уравнений.

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

A system is said to be concurrent if it can support two or more actions in progress at the same time. A system is said to be parallel if it can support two or more actions executing simultaneously. The key concept and difference between these definitions is the phrase “in progress.”

Исходя из этого определения паралельность возникает, только когда у вас есть многоядерность. Если вы разбили алгоритм на паралельные и независимые вычисления и использует treads или потоки, но у вас один процессор, то никакой паралельности не возникает по определению. Просто ее нет физически. Поэтому ваш термин "степень пралельности" к программноу обеспечению это бессмысленная забредушка, непонятная никому, кто знает про treads или потоки.

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

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

Часть блоков в завимости от математического выражения в них и схемы соединения, требует наличе на входе результата расчета других блоков (возникает алгебраическая петля). Вспонми что мы рассматриваем дискретное приближение непрерываного процесса, у нас есть набор точек по времени. Если нам необходимо значение которые мы еще не рассчитали (из за математического выражения и схемы соединения), мы берем это значение с предыдущего шага расчета тут то и возникакет (задержка на шаг и развязка алгебраических петель). Здесь у нас возникает численная погрешность расчета, которую нужно контролировать, чем меньше шаг тем меньшь погрешность, адаптивные методы еще и меняют шаг на лету, если погрешность выходит за заданные пределы. Либо пишет сообщение, что заданная точность не достигается, когда шаг упал до минимального.

Вот и весь хер да копейки, и никаой параллельности перпендикулярности инерцеонности тут нет.

Какой пародокс я должен тут убрать? У вас модель непрерываного процесса. Набор диференциалных уравнений. Мы его в SimInTech решаем используя разностью схему с дикретизацие по времени. Чем меньше шаг тем ближе дикретный процесс к непрерывному, меньше погрешность. Чем больше шаг по времени тем больше погрешность. В чем здесь парадокс? У вас регулятор темературы в комнате вы меряеет ее 1 раз в секунду и включает кондиционер. Потом вы начинает меретя ее раз в день, и жалуетесь что регулирует плохо, а потом вы начинает мерять ее 1 раз в год. И предьявляет претензию что регулятор не работает. А с чего бы ему работать?

Просто уважемый @lws0954вообще не вкуривает, что он делает. Он сейчас изобретает метод эйлера для численного решения обыкновенных дифференциальных уравнений. Он придумал, что если в автоматах состояния задавать задержку на такт, то получится нивипенно крутое решение, которое по волшебству будет отображать свойства реального мира, поскольку "вычисления не происходя мгновенно" и только его гений сообразил эту задержку вставить в каждый автомат и теперье его система лучшая в мире. И на это единственную задержку на такт он накручивает, инерционности, простраство скоростей и еще единственную истинную и непогрешимую степень параллельность, которой нет ни у кого в мире. Поскольку никто задержку на такт в автомате не учитвает Алилуя.

Ответ же у вас лежит на поверхности:

Степень "адекватности" модели для меня — это степень расхождения (отклонения) симуляции и реальной системы, которое может быть измерено. 

Золотые слова! Все что мы делаем в SimInTech Simulink LabView это просто решение обыкновенных диференциальных уравнений численными методами. Заменяем непрерывный процесс, вычислениями сотояния системы в дикретные моменты времени. При этом в решение использутся шаги по времени, чем меньше шаг тем ближе мы к реальной системе (больше точность), но тем больше нужно вычислений. Осюда и балансировка - поиск оптимального шага расчета разными хитрыми методами.

Если нужно учесть дискретность реальной системы, это делается легко и непринужденной в любой среде SimInTech Simulink LabView. Без всяких воистину паральеных автоматов с задержкой по умолчанию.

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

Мне кажестя что уважемый @lws0954пытается применить дискретную математику, не совсем понимая диференциальные исчисление отсюда у него куча новых бессмысленных терминов и определений.

ВКПа, как реализация концепции автоматного программирования, учитывает инерционность объектов. Ни что не происходит мгновенно. Вычисления - в первую очередь. Вне зависимости от их реализации. Этот факт отразили диаграммы задержек выходных сигналов, поступающих с выхода субмодели "Бак" на входы субмодели "Нечеткий регулятор". И вообще. Любая система управления, содержащая обратную связь, просто обязана учитывать задержку времени, вносимую этой обратной связью. Повторяем медленно и многократно - о-б-я-з-а-н-а! 

У вас полная мешнанина в териминологи. Инерционность объектов неимеет никакого отношения к тактам вычисления, инерционность это вообще про другое! Шаг интегрирования численного метода определяет только точность решения дифференциальных уравнений, которые описывают непрерывный процесс. В реальности практически любая система измерения тимеет задержки и искажения в аналогвой части (указаные в паспорте) и так же погрешности кругления при переводе в цифровой вид. А так же скважности опроса датчиков (мы можем получать данные с определенным интервалом), в цифровой систем управления есть такты работы процессора. И все это можно легко и непренужденно учесть в моделях SimInTech Matlab и LabView, и это в моделях учитывается. Причем мы это вводим в модель, реальные параметры, реальных систем. Для этого не надо изобретать новыем методы автоматов с задержкой и называть их единственно верными. Ваша задержкка на шаг в автомате это полная туфта с точки зрения решения задачи моделирования и управления, никокого особого смысла она не имеет.

внутри просто про трубу

Большое спасибо! Благодаря вопросам, пришлось открыть библиотеку и с удивелние обнаружил, что текущая реализации библиотеки нечеткого вывода потеряла часть работающего функционала, который был в первой версии. Орг выводы сделаны виновыне будет репрессирован. В ближайшем обновление будет иправленная библиотека.

Впрочем недоработки касались, методов активизации, которые не использовальсь в данном проекте. Поэтому на результаты не повлияли.

Просто все большие компании постоянно покупают маленькие и средники

Он там уже был. Просто для залач с проектов проведения работ (ППР) с трубами тогда он не очень подходил.

  • Я в Янедкс такси для души работают. А так то я занимаюсь похишением людей

  • Вы поворот проехали.

  • Я знаю

Эникейшик в 90-х это как сеньор в Яндекс сегодня

А чего как будто из склепа. Неолант и сейчас как Ленин живее всех живых. Недавно видел директора он доволен.

а как это сделать я не нашел с ходу?

А что хабр может видео контент тоже хранить? Как видео хостинг?! Век живи - век учись и помрешь недоучкой!

Да нет там никакого определения. Все сводится к жалкому триггеру в поределении которого есть запретные состояния.

Типовое описание работы RS-триггера дается в подавляющем числе случаев в форме таблицы истинности. Но поступать так, понимая, что триггер — это последовательностная схема, это, по сути дела, сознательно вводить в заблуждение изучающих эту тему. Ну, нет и не может быть у триггера «запрещенных состояний»!

Тригер это не последовательная схема, это вообще не схема! Это математическая абстракция, которая содержит в себе запретные состояния именно потому что, она абстракция. Это как 2+2 = 4. Это правила вычисления выхода по входу.

А последовательная схема, про которую вы говорите, это вариант ее реализация в виде электронных элементов. И вот именно эта реализации триггера, не имеет запрещенных состояний (поскольку это физическое реализация математической абстракции). Вы берете свойства электронный элементов в которых есть время перключения и требуете изменить математическую абстаркцию. Но так не работает математика. Если есть запретное состояние входов тригера в математике занчит оно есть.

2+2 = 4, нельзя тербовать что бы 2+2 = 2 + 1 + 1. Поскольку нельязы к двум яблокам добавить два, сначала добавляетя 1 и получается 3 а птомом добавляется еще 1 и получается 4. Только так работает сложение! А 2+2=4 этого не может быть! И только конечные автоматы правильно складываюте 2+2 за два такта! Истиное паральльнео счисление аллилуя!

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

И числа 0 не сущетсвует! Поскольку это вводит в заблуждение, не бывает нулевой высоты, есть высота на уровнем море, а до дна еще никто не доставал, потоэтому 0 не существует. И нулевое напряжение в электронных компонентах оно не равно 0! Нет и не может быть "нуля"

Ну а то, что вы по умолчанию в автоматы воткнули задержку, это не делает ваши автоматы единственно воистину параллельными, а все остальные алгоритмы реализации триггера, где в схему в ручкую водят задержку на шаг, неверными гайдзынам непостигшими единственно верного учения о параллельных конечных автоматах.

Исходя из физического принципа. Усилитель все же усиливает не прямо входной сигнал, а использует его чтобы, преобразовав (транзисторы там вссякие, лампы и т.п.),, выдать на выход. Ну, это так - навскидку...

У вас какая то дикая путаница в голове, абстрактная математика пермешана с физическим принципом работы электрического усилителя? А причем здесь усилитель? Это же просто математика умножение на коэффициент. Есть куча физияеских процессов где нет никаких усилений. Ну например для вычисления коффициента преломления используется то же самое математическое выражения умножения на коэффициент, преломление и отражения происходять на границе. Причем здесь лампы, транзисторы, входы выходы? Это математика!

Свое "слово" я сказал, когда сформулировал формальное определение модели паралельных вычислений. 

Нигеде не нашел вашего формального поеределения "модели паралельных вычислений" скорее всего это выдуманный вами велосипед, обозначающий одному вам изветную абстракцию.

Если говорить об общепринятых определения, а не о ваших фантазиях, то использование потоков для распаралеливания расчетов в теплогидравлике соотвесвует The Data-Parallel Model (поскольку данные в вычислениях расхода внутри теплогидравлических объема не зависят друг от друга (паралельные потоки), а зависят только от давления в узлах, рассчитанных в начале шага интегрирование) Определения и схемы вычисления в данной паралельной модели можно посмотреть здесь...

Для меня паралельные вычисления когда я запускаю модель, она инициализируются, запускает потоки, формирует задачи на расчет и грузит 8 процессоров которые у меня есть. И я это вижу наглядно в диспетчере задач Windows, после запуска моей модели в SimInTech

Это паральные вычисления как они есть и для чего они были созданы 50 лет назад. И если для вас это

Это приемы структурной организации процессов, условно называемых параллельными.

То для всего мира и для меня это и есть паралельные вычисления. А что считаете воистину исконно посконными параллельными вычислениями вы, это мне неведомо, боюсь и вам неведом так же, поскольку вы тут на ходу пытаетесь теорию дифференциальных уравнений выдумать заново. Не надо старина Эйлер уже все придумал. Читайте Эйлера.

Вот только использование Вами понятия "переменной состояния" как-то напрягает. Просто потому, что автоматов, вроде, нет, а вот "состояние" как-то появилось. ;)

Как я и подозревал, диференциальное исчесление для вас "Terra Incognita":)) А ведь в книге на которую вы ссылаетесь, прямо сказано что изучать дискретную исчесления рекомендуется после знакомства с диференциальным исчислением, тогда многие чудесатости котрые вы выдумываете, окажутся уже известными науке велосипедами. С другой стороны вам предстоит много чудных открытий.

Могу порекомендовать начать вот с этой статьи

state variable is one of the set of variables that are used to describe the mathematical "state" of a dynamical system. Intuitively, the state of a system describes enough about the system to determine its future behaviour in the absence of any external forces affecting the system. Models that consist of coupled first-order differential equations are said to be in state-variable form.[1]

Information

Rating
24-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity