Викладаю звіт про свій експеримент в області машинного навчання. На цей раз темою експерименту було створення AI для управління моделькою автомобіля.

Читати далі →

Дослідження якісних особливостей динаміки математичних моделей нелінійних неавтономних систем

Ю. А. Бичків, С. В. Щербаков

Дослідження якісних особливостей динаміки математичних моделей нелінійних неавтономних систем з допомогою власних чисел функціональної матриці Якобі

Постановка завдання
Завдання дослідження якісних особливостей динаміки математичних моделей нелінійних неавтономних систем з зосередженими параметрами надзвичайно актуальна. Розвиток теорії нелінійних явищ та отримані прикладні результати породжують різноманіття методів рішення цієї задачі [1-3].
У загальному випадку динаміку математичних моделей систем виділеного класу (надалі «систем») описує таке звичайне нелінійне інтегро-диференціальне рівняння з нестаціонарними коефіцієнтами:
$A(D)x(t)=G(D)f(t)+H(x,f,t) \qquad (1)$
де $D$ – оператор узагальненого диференціювання по незалежній змінній $t$; $A(D)$ – квадратна, близько $Lx$, матриця з поліноміальними від $D$ і $D^{-1}$ елементами, де $D^{-1}$ — оператор інтегрування за змінною верхньою межею $t$;
G(D) –прямокутна матриця розміром $L\_x\times L\_f$, з поліноміальними від $D$ і $D^{-1}$ елементами; $x(t)$ і $f(t)$ – матриці-стовпці координат системи (шуканих рішень) і зовнішніх впливів на неї відповідно; $H(x,f,t)$ – матриця-стовпець з рядками у вигляді сум творів, співмножники яких — нестаціонарні коефіцієнти, а також класичні похідні будь-якого порядку і інтеграли будь кратності, починаючи з нульових, від шуканих рішень і зовнішніх впливів, в довільних дробово-раціональних ступенях.

Читати далі →

Кінцеві автомати в середовищі динамічного моделювання SimInTech. Частина 2

першої частини ми показали як створити алгоритм роботи на основі «кінцевих автоматів» в SimInTech і використовувати його спільно з «класичними» алгоритмів у вигляді функціонально блочних діаграм.

У другій частині ми покажемо як створити вкладені і паралельно працюють кінцеві автомати і здійснювати обмін даними між ними.

Читати далі →

Кінцеві автомати в середовищі динамічного моделювання SimInTech

Введення

SimInTech є середовищем для створення математичних моделей будь-яких систем, рівняння динаміки яких можна представити у вигляді входо-вихідних співвідношень (подання DataFlow). Для реалізації підходу кінцевих автоматів в середовищі SimInTech існував блок умовного виконання субмоделі, який забезпечував зупинку і запуск моделювання за умовою, що приходить ззовні. Такий підхід забезпечує можливість розділити загальну модель на стану і в кожний момент часу розраховувати тільки ті субмоделі, умови виконання яких встановлено в true. Однак, така реалізація автоматного підходу не дуже зручна, з точки зору наочності, і вимагала додаткової настройки параметрів системи.

В даний час всі необхідні налаштування реалізовані в спеціальній бібліотеці блоків, яка забезпечує створення моделей систем у вигляді кінцевих автоматів, подання State Flow) і може бути використана при створенні моделей управління.

У цій статті показаний приклад використання елементів бібліотеки «Кінцеві автомати» для створення системи управління.

Читати далі →

Формалізму Лагранжа в задачах з сухим тертям

Введення

Дана стаття являє собою логічне продовження теми, розпочатої у попередній публікації . Як і було обіцяно в коментарях, розглянемо застосування методу надлишкових координат до динамічного аналізу механічних систем, що рухаються під дією сил сухого кулонівського тертя. В якості ілюстративного прикладу розв'яжемо наступну задачу



Тонкий однорідний стрижень маси m = 2 кг, довжини AB = 2l = 1 м в точці A шарнірно прикріплений до невагомому повзуна, перемещающемуся в горизонтальних жорстких напрямних. У початковий момент часу стрижень розташований вертикально, потім його відхиляють від вертикалі на мізерно малий кут і відпускають без початкової швидкості. Необхідно скласти рівняння руху даної механічної системи і знайти закон її руху. Коефіцієнт тертя між повзуном і направляючими дорівнює f = 0,1.


Перш ніж приступити до вирішення завдання запропонованим автором методом, розглянемо трошки елементарної теорії, що стосується сухого тертя.


Читати далі →

Maple: складання рівнянь Лагранжа 2 роду і метод надлишкових координат

Передмова

За родом професійної та наукової діяльності я механік. Викладаю теоретичну механіку в університеті, пишу докторську дисертацію в галузі динаміки рухомого складу залізниць. Загалом, ця наука поглинає більшу частину мого робочого і навіть вільного часу.

З Maple (на кафедрі була 6-а версія, а у лоточників додому була куплена 8-я познайомився ще студентом, коли починав працювати над майбутньої кандидатської під крилом мого першого (ныше покійного) наукового керівника. Були і добрі люди, що допомогли на самому першому етапі розібратися з пакетом і почати працювати.

І ось так поступово на його плечі була перекладена велика частина обчислювальної роботи по підготовці дисертації. Дисертація була захищена, а Maple назавжди залишився надійним помічником у науковій праці. Часто буває необхідно швидко оцінити якусь задачу, скласти рівняння, дослідити їх аналітично, швидко отримати чисельне рішення, побудувати графіки. В цьому відношенні Maple просто незамінний для мене (ні в якому разі не хочу образити прихильників інших пакетів).

Зробити все те, що буде запропоновано читачеві під катом, мене завдання принесена ученицею (доводиться займатися ще і репетиторством) зі шкільної олімпіади. Умова завдання таке:
Вантаж, що висить на нитці довжини L = 1,1 м, прив'язаною до цвяха, штовхнули так, що він піднявся, а потім ударився в цвях. Яка його швидкість у момент удару об цвях? Прискорення вільного падіння g = 10 м/с2.
Якщо не чіплятися до некоторонной туманності умови, то задача досить проста, а її рішення, отримане шляхом досить громіздких для школяра викладок, в загальному вигляді дає результат



І ось тут захотілося перевірити рішення, отримане з оглядкою на шкільну програму з фізики незалежним способом, наприклад склавши диференціальні рівняння руху цього маятника, та не просто, а з урахуванням звільнення від зв'язку (у процесі руху нитка, считаемая невагомою, провисає і маятник рухається як вільна точка).

Це послужило каталізатором для того, щоб взяти та й відкопати свої старі задумки, накопичені ще з часів роботи в оргкомітеті Всеросійської Олімпіади студентів з теоретичної механіки — три роки поспіль займався там підготовкою задач комп'ютерного конкурсу. Задумки стосувалися автоматизації побудови рівнянь рухів для механічних систем з неудерживающими зв'язками і тертям, використовуючи відомі всім рівняння Лагранжа 2 роду



поборів стереотип багатьох викладачів про те, що ці рівняння застосовують до систем з неудерживающими зв'язками і тертям.

Що стосується Maple, то його бібліотека для вирішення задач варіаційного числення дає можливість швидко отримати рівняння Ейлера-Лагранжа, рішення яких мінімізує дію з Гамільтону, що застосовується для консервативних систем



де — функція Лагранжа, дорівнює різниці кінетичної і потенційної енергій системи.

Так як расматриваемые завдання не відносяться до класу консервативних, то автором була зроблена спроба самостійно реалізувати автоматизацію побудови і аналізу рівнянь рухів. Що з цього вийшло, викладено під катом


Читати далі →

Імовірнісні моделі: LDA, частина 2

    Продовжуємо розмову. У минулий раз ми зробили перший крок на переході від наївного байєсівського класифікатора до LDA: прибрали з наївного Байєса необхідність у розмітці тренувального набору, зробивши з нього модель кластеризації, яку можна навчати ЕМ-алгоритмом. Сьогодні у мене вже не залишилося відмовок — доведеться розповідати про саму модель LDA і показувати, як вона працює. Колись ми вже говорили про LDA в цьому блозі, але тоді розповідь була зовсім короткий і без дуже істотних подробиць. Сподіваюся, що цього разу вдасться розповісти більше і зрозуміліше.
 
 
Читати далі →

Імовірнісні моделі: від наївного Байеса до LDA, частина 1

    Продовжуємо розмову. Минула стаття була перехідною від попереднього циклу про графічних моделях взагалі (частина 1 , частина 2 , частина 3 , частина 4 ) до нового міні-циклу про тематичному моделюванні: ми поговорили про Семплірування як методі виводу в графічних моделях. А тепер ми починаємо шлях до моделі латентного розміщення Дирихле (latent Dirichlet allocation) і до того, як всі ці чудові алгоритми семплювання застосовуються на практиці. Сьогодні — частина перша, в якій ми зрозуміємо, куди є сенс узагальнювати наївний байесовский класифікатор, і заодно трохи поговоримо про кластеризації.
 
 
 
Читати далі →

Застосування саморобного тепловізора на базі Arduino в дослідженнях економії електроенергії

    Що можна зробити за допомогою двох цеглин, звичайної електричної плитки і тепловізора на Arduino ? Заощадити купу електрики! Як всі ці речі взаємопов'язані, можна дізнатися з цієї статті. По ходу справи довелося торкнутися деякі речі з ТАУ (теорія автоматичного управління), але я постарався позбутися занудной математики і докладно пояснити роль «тепловізора менш ніж за 100 $» у процесі.
 
Увага! Під катом є одна дуже «товста», але красива картинка! І багато тексту!
 
Читати далі →