Search
Write a publication
Pull to refresh
4
0.9
Дмитрий Померанцев @pda0

User

Send message

Использование обратного преобразования Лапласа для анализа динамических звеньев систем управления

Reading time8 min
Views15K


Здравствуйте!

До настоящего времени в арсенале средств высокоуровневого языка программирования Python отсутствовали модули для численного преобразования передаточных функций элементов САУ из частотной области во временную.

Поскольку функции обратного преобразования Лапласа широко используются при анализе динамических систем контроля измерения и управления, использование Python для указанных целей было весьма затруднительно, поскольку приходилось использовать менее точное обратное Фурье преобразование [1].

Указанную проблему решает модуль mpmath библиотеки Python свободного распространения (под лицензией BSD), предназначенный для решения задач вещественной и комплексной арифметики с плавающей точкой и заданной точностью.

Работу над модулем ещё в 2007 году начал Fredrik Johansson [2], и, благодаря помощи многих участников проекта, в настоящее время mpmath приобрёл возможности серьёзного математического пакета.
Читать дальше →

Нотной грамоте учат неправильно*

Reading time11 min
Views254K

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


Предполагается, что студент должен страдать самостоятельно освоить ноты, путем многократного повторения. И вообще, если «ниасилил», значит у тебя нет Таланта — иди мести двор.


Представьте что было бы, если бы обычной грамоте учили так же. Но мы, почему-то, в большинстве своем читать и писать таки научились.


Под катом я опишу свою методику, которая на мой дилетантский взгляд работает лучше, чем то, что обычно предлагают начинающим.


* Дисклеймер

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


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


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


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

Читать дальше →

Вычисления на видеокарте, руководство, лёгкий уровень

Reading time3 min
Views36K
Это руководство поясняет работу простейшей программы, производящей вычисления на GPU. Вот ссылка на проект Юнити этой программы:

ссылка на файл проекта .unitypackage

Она рисует фрактал Мандельброта.

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

Шейдер, который рисует фрактал, написан на языке HLSL. Ниже приведён его текст. Я кратко прокомментировал значимые строки, а развёрнутые объяснения будут ниже.
Читать дальше →

Физическое моделирование на GPU с использованием compute shader в среде Unity3D

Reading time17 min
Views39K
В этом руководстве я расскажу, как использовать compute shader для реализации вычислений на видеокарте — на примере модели волос:

Генетический алгоритм построения алгоритмов

Reading time11 min
Views32K
Паркер: А чем Вы занимаетесь в выходные?

В типичной реализации генетический алгоритм оперирует параметрами какой-то сложной функции (диофантовые уравнения в статье "Генетический алгоритм. Просто о сложном" mrk-andreev) или алгоритма ("Эволюция гоночных автомобилей на JavaScript" ilya42). Количество параметров неизменно, операции над ними тоже изменить невозможно, как генетика не старается, потому что они заданы нами.

Хьюстон, у нас проблема


Сложилась странная ситуация — прежде чем применять генетические алгоритмы (ГА) к реальной задаче, мы сначала должны найти алгоритм, которым эта задача в принципе решается, и только потом его попытаться оптимизировать с помощью генетического алгоритма. Если мы ошиблись с выбором «основного» алгоритма, то генетика не найдет оптимум и не скажет, в чем ошибка.

Часто, а в последнее время и модно, вместо детерминированного алгоритма использовать нейронную сеть. Тут у нас тоже открывается широчайший выбор (FNN, CNN, RNN, LTSM, ...), но проблема остается той же — выбрать нужно правильно. Согласно Википедии "Выбирать тип сети следует, исходя из постановки задачи и имеющихся данных для обучения".

А что, если...? Если заставить ГА не оптимизировать параметры, а создавать другой алгоритм, наиболее подходящий для данной задачи. Вот этим я и занимался ради интереса.
Читать дальше →

Akumuli — база данных временных рядов

Reading time10 min
Views26K

Привет! В этой статье я хочу рассказать о проекте Akumuli, специализированной базе данных для сбора и хранения временных рядов. Я работаю над проектом уже больше четырех лет и достиг высокой стабильности, надежности, и возможно изобрел кое-что новое в этой области.


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


Time-series in finance


“Мне не нужна TSDB, у меня уже есть Х”


Х может быть чем угодно, начиная с SQL базы данных и заканчивая плоскими файлами. На самом деле все это действительно можно использовать для хранения временных рядов, с одной оговоркой — у вас мало данных. Если вы делаете 10 000 вставок в свою SQL базу данных — все будет хорошо какое-то время, потом таблица вырастет в размерах настолько, что время выполнения операций вставки увеличится.

Читать дальше →

Чем заняться на каникулах: пишем роботов для торговли на бирже на скриптовом языке TradeScript

Reading time5 min
Views28K


В блоге на Хабре мы много пишем о биржевых технологиях и торговых роботах. В сегодняшнем материале вопрос создания таких систем будет рассмотрен подробнее — на примере встроенного в торговый терминал SmartX скриптового языка программирования TradeScript.
Читать дальше →

Публикация приложения в AppStore. Пьеса без диалогов в нескольких актах

Reading time5 min
Views8K
Действующие лица: Исполнитель (мы), Заказчик, специалисты AppReview.

Акт 1


Действующие лица: Исполнитель (мы), Заказчик.

В рамках проекта нами было разработано мобильное приложение, работающее с серверным ПО Заказчика (на базе ОС от Microsoft), продаваемым клиентам Заказчика.

В отличие от многих мобильных приложений, данное приложение должно работать не с единым, доступным всем пользователям приложения, сервером. Сервер, выступающий бекендом приложения, устанавливается на территории и в локальной сети каждого клиента Заказчика, адрес сервера указывается в настройках приложения.
Читать дальше →

Знакомство с движком AVAudioEngine для работы со звуком на iOS

Reading time8 min
Views8.4K
Просматривая рунет в поисках статей на эту тему, удивляешься их отсутствию. Возможно, людям хватает описания в хэдере класса, а может, все просто предпочитают изучать его опытным путём. Так или иначе, для тех, кто первый раз сталкивается с этим классом или чувствует потребность в наглядных примерах, мы предлагаем это несложное практическое руководство от наших партнеров, Music Topia.

В плане работы со звуком Apple находится впереди своих конкурентов, и это неспроста. Компания предлагает хороший инструментарий для проигрывания, записи и обработки треков. Благодаря этому на AppStore можно увидеть огромное количество приложений, которые так или иначе работают с аудиоконтентом. В их число входят проигрыватели с хорошим звуком (Vox), аудиоредакторы с инструментами для редактирования и наложения эффектов (Sound Editor), приложения, изменяющие голос (Voicy Helium), различные симуляторы музыкальных инструментов, которые дают довольно точную имитацию соответствующего звучания (Virtuoso Piano), и даже симуляторы DJ-установок (X Djing).



Для работы с аудио Apple предоставляет фреймворк AVFoundation, который объединяет в себе несколько инструментов. Например, AVAudioPlayer используется для проигрывания одиночного трека, а AVAudioRecorder — для записи звука с микрофона. И если вам нужны только функции, предоставляемые этими классами, то просто используйте их. Если же вам необходимо наложить какой-либо эффект, проигрывать несколько дорожек одновременно, микшировать их, заняться обработкой или редактированием аудио или записать звук с выхода определенного аудиоузла, то с этим вам поможет AVAudioEngine. Больше всего данный класс привлекает возможностью наложения эффектов на трек. Как раз на основе этих эффектов построена уйма приложений с эквалайзерами и возможностью изменить голос. Кроме того, Apple позволяет разработчикам создавать свои эффекты, генераторы звука и инструменты.
Читать дальше →

Криптоспекулянтинг для самых маленьких или 10 первых советов

Reading time8 min
Views15K


Однажды я почувствовал себя летящим этажа с 20-го на асфальтовую мостовую. Но почему-то летел я спокойно, периодически одёргивал на себе идеально сидящий костюм и сосредоточено бросал в сторону асфальта монетки из кармана, вероятно чтобы снизить скорость падения. В результате асфальт конечно же меня догнал, я вмазался в него прямо носом, проснулся и понял, что после определённого времени спекуляций воздухом на криптовалютных биржах я апнул новые ранги сразу нескольких черт характера. Спокойствие стало ледяным, выдержка запредельной, а надежда на безнадёжное неистребимой. Вообще я и раньше был довольно-таки флегматичным и хладнокровным типом, за что заслужил в среде сослуживцев странное прозвище «Норд» (как связана марка холодильников с пофигизмом не знаю, но говорят что обозвали именно за него). Но в последние годы я превзошёл сам себя, а до идеала видимо осталось уже не так далеко.

Такое странное вступление написано потому что я убеждён что биржевой трейдинг, а особенно трейдинг откровенным мусором (альткоинами) не терпит людей порывистых, увлекающихся, азартных и невыдержанных.

Так что самый первый и предварительный совет: если вы ощущаете в себе хотя бы одну из этих черт характера, то даже и не начинайте. Ну или не слушайте разных непонятных советчиков и бросайтесь под кат не глядя.
Читать дальше →

В России отменят нотификацию на зарубежную электронику

Reading time4 min
Views44K

Правительство в очередной раз изменило правила провоза через таможню товаров из иностранных интернет-магазинов. Но на этот раз в лучшую сторону! Часть самых популярных категорий гаджетов выводится из-под требований нотификации ФСБ. Что это значит для обычных интернет-покупателей и стоит ли заранее открывать шампанское? Бандеролька объясняет.


image
Читать дальше →

Динамический звук на разрушаемых уровнях Rainbow Six: Siege

Reading time6 min
Views6.8K

Привет, меня зовут Луис Филиппе Дион, я главный звукорежиссёр Rainbow Six: Siege и уже семь лет работаю в Ubisoft. До Siege я работал над звуком в таких играх, как Prince of Persia и Splinter Cell. Также я был менеджером по производству собственного звукового движка Ubisoft.

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

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

Выкладываем приложение в App Store. Даже если вы не разработчик

Reading time4 min
Views123K


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

Читать дальше →

Визуальное программирование на языке ДРАКОН

Reading time15 min
Views62K

Визуальное и текстовое программирование


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


Исторически сложилось, что алгоритмы в программах записываются в виде исходных текстов. Почти никто не ставит под сомнение, что текст — это и есть лучшее средство представления алгоритмов. Алгоритм кодируется внутри функций на языке программирования, например, C или JavaScript. Для тех, кто хочет разобраться в алгоритме с высоты птичьего полёта, предусмотрен псевдокод. Однако с текстом есть серьезные проблемы. Дело в том, что человек не оптимизирован под сплошной текст. Человек оптимизирован на восприятие графики. Текст — это относительно новое изобретение, а вот графическую информацию организмы обрабатывают уже миллионы лет.


Исходя из этого, логично было бы составлять алгоритмы в графическом виде. Посмотрите на инженеров. Они повсеместно используют чертежи. Чем же программисты хуже? Они тоже могли бы составлять чертежи алгоритмов. Некоторые здесь возразят: визуальное программирование якобы неэффективно. UML неудобен, а в блок-схемах легко запутаться. Уж лучше программировать традиционным способом — текстом. В структурном программировании есть хотя бы структура, и она обеспечивает порядок и единообразие. А кроме того, рисовать диаграммы долго и трудно. Печатать быстрее, чем рисовать.


Так что же, программисты обречены всю жизнь работать только с текстом?
Возможно, не всё так плохо. Существуют визуальные языки для представления алгоритмов, в которых тоже есть порядок и структура, например ДРАКОН, BPMN и LML Action Diagrams. Здесь мы рассмотрим визуальный алгоритмический язык ДРАКОН.


Как программировать на языке ДРАКОН


ДРАКОН не является самостоятельным языком программирования. Он работает в паре с

Читать дальше →

Казнить нельзя помиловать: разбираемся с пунктуацией в английском языке

Reading time5 min
Views25K
Многие студенты считают, что во всех языках пунктуация одинаковая. Казалось бы, знаки препинания все те же (разве что в испанском есть перевернутые, да кавычки у всех разные), почему бы их не использовать по одинаковым правилам? Ответ прост: это невозможно синтаксически. У всех языков разная структура предложения, поэтому невозможно применить единые правила пунктуации ко всем языкам сразу. Да и потом, чьи правила применять? В правилах русского путаются сами русские. А уж русская пунктуация в английском тексте вообще противоестественна. Рассмотрим самые частые ошибки русских студентов.

Решив изучать иностранный язык, рано или поздно вы столкнетесь с тем, что вам придется что-нибудь на нем написать. На высоких уровнях вы уже научитесь формулировать мысль и будете пытаться писать красивыми длинными предложениями. Вот только неопытного студента, который ни разу не изучал даже азов английской пунктуации любой преподаватель или носитель увидит за версту. Ведь студенты часто пишут сочинения на английском, расставляя знаки препинания по принципу русского языка. Мы не будем подробно и дотошно описывать все правила английской пунктуации, а сосредоточимся на самых частых ошибках.
Читать дальше →

Как я слил 1000$ в продвижение игры и что из этого получилось

Reading time6 min
Views61K


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

Для многих знакома ситуация, делал-делал, а кроме друзей так и никто и не увидел игру, а ведь так старался! Под катом не будет расплывчатых формулировок или предположений по продвижению. Конкретно ссылки — конкретно результат. Поехали!
Читать дальше →

Доделал игру, работающую на видеокарте

Reading time3 min
Views88K
Наконец-то я доделал игру, которая работает на видеокарте. Она несколько месяцев повисела в раннем доступе на стиме, и теперь я её окончательно выпустил. Основная фишка игры в том, что она представляет собой физическую симуляцию, которая выполняется на графическом процессоре. Основной код игры — это огромный compute shader, 6 тысяч строк на HLSL. Десятки тысяч взаимодействующих частиц обрабатываются параллельно, и выходит довольно быстро. Всё в игре сделано из этих частиц. Вот несколько гифок о том, как это работает:

image
Читать дальше →

Теория игр, мышиная возня и спущенная шина

Reading time8 min
Views23K


Теория игр — наука на границе математики и экономики.

Сама теория игр зародилась вместе с экономической теорией примерно три столетия назад, но в науку ее превратил Джон Форбс Нэш, нет он не связан с журналом Форбс.

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

Стратегическая игра

«Игра» — слыша это слово, многие думают, что речь идет о чем-то малозначительном и не масштабном в особенности по сравнению с мировой экономикой, бизнесом или военным делом. На самом деле стратегические игры включают в себя не только военную и бизнес стратегии, но и экономику, построение карьеры и отношений и многое другое. Почти все, что нас окружает, относится к стратегическим играм, а теория игр помогает во всем этом разобраться.

Но достаточно лирики, все уже поняли, что стратегические игры и теория игр — это самое важное, что может быть в жизни, а значит пора приступить к разбору примеров.
Читать дальше →

Как забрать контроль над собой у соцсетей

Reading time5 min
Views13K


Как прожить жизнь по своим правилам, не отвлекаясь на манипулирование со стороны других людей? Для этого необходимо знать, как работает ваш разум. "Познай себя", -призывали древние. К сожалению, часто у нас это получается плохо.

И наоборот, другие знают нас всё лучше и лучше. Наш интеллект, сексуальные предпочтения, и много всего прочего можно вычислить на основе лайков в Facebook. Машины, использующие данные, собранные по нашим цифровым следам, могут лучше описать нашу личность, чем наши друзья и семья. Вскоре искусственный интеллект будет знать ещё больше на основе данных с соцсетей. Проблемой XXI века станет вопрос — как жить, когда посторонние люди знают о нас лучше, чем мы сами.

Встраиваем In-App purchase в своё приложение

Reading time5 min
Views14K
image Во второй части статьи про свою новогоднюю игрушку я расскажу про внутри игровые покупки. Я совсем не люблю рекламу в приложениях, по этому вопрос встраивания рекламы в своё приложение, для меня отпал сразу. Мой опыт выкладывания в Gooogle Play платных игр говорит о том, что резко падает количество желающих эту игру скачать, по этому вариант продажи игры, тоже отпал. И так как я не стремлюсь заработать на игре состояние, а делаю это больше в своё удовольствие, то решил что пусть пользователи сами решают, платить что-нибудь или нет.
Читать дальше →

Information

Rating
2,677-th
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity