• Что такое transition_matrices и observation_matrix в фильтре Калмана?

    @kahi4
    Вячеслав Голицын, я немного сумбурно написал ответ. К слову, вспомнил хорошую статью на хабре

    Допустим, у нас есть уравнение движения в дискретной матричной форме:

    X_k = F_k * X_(k-1) + B_k * u_k + w_k

    Где X - вектор состояния (координаты, скорости, углы, все вот это). u - управление, w - случайное воздействие (ветер, например), B - то, как управление влияет на координаты.

    При численном моделировании следующее состояние (X_k) будет равняться умножению вот этой самой переходной матрицы на текущее состояние (X_(k-1)), прибавить к нему управление U на шаге k и случайное воздействие. Каким образом получить эту матрицу из системы диф. уравнений? Ну можно просто подставить значения в диф. уравнения и посмотреть коэффициенты. Но вообще гуглить "линеаризация системы", там не все так просто, одним ответом я не расскажу.

    Дальше.
    Как правило, датчики снимают не те измерения (Z), которые входят в вектор состояний (X). Например, они могут измерять магнитное поле, которое вряд ли входит в состояние системы, а так же сильно зашумлены (v_k). Эта самая матрица observation matrix (в статье называется матрица измерений) H_k и связывает измерения и состояния. Например, у вас есть вектор состояний, включающий в себя углы поворота. Матрица измерений для компаса вполне может быть матрицей поворота (представлять из себя что-то типа
    sin(x1), cos(x2),
    cos(x1), -sin(x2)
    И найти ее можно, подставив реальные значения для шага k.

    Иными словами, у вас должна быть математическая модель объекта, представляющая из себя систему диф. уравнений, а так же модель, связывающая состояние системы с измерениями. Затем эту мат. модель нужно линеаризовать, получив эти матрицы (заметьте, что матрицы могут зависеть от состояния системы на шаге k), ну и подставить их.

    Т.е. мне необходимо по магнетометру найти азимут и по гаверсинусам найти коэфициент изменения широты и долготы? Эти коэфициенты и пойдут в Transition matrix ???


    У вас уже должны быть координаты в этой системе координат (либо приводимые к ним, и все необходимые для этого параметры, например, ориентация). К слову, я бы не советовал решать задачу в геоцентрической СК, лучше решать в инерциальной, пересчитывая в геоцентрическую или прочую связанную при необходимости.
  • Как вынести содержимое тэга в переменную JS?

    @kahi4
    В чем вопрос? Чем вас не устраивает переменная badge_text в текущем виде?
  • Todolist на javascript, что исправить?

    @kahi4
    Стало лучше, но опять же, рекомендую все же присмотреться либо к MVC, либо к функциональному стилю. Как минимум -- хранить todo непосредственно в разметке идея плохая. Все же следует сделать хранилище, пусть это даже обычный массив, который будет хранить todo's, подумайте как связывать этот массив с представлением, но бизнес-логика должна быть отделена от представления однозначно.
  • Как в ubuntu server поменять фон терминала?

    @kahi4
    Справедливости ради -- framebuffer уже другой режим видеокарты. Однако уточнил тут, действительно в 2017 линукс уже по-умолчанию грузится в этом режиме, так что в целом мой косяк. Однако я все равно считаю странным ставить картинку на фон в консоли. Можно уже сразу легковесный графический стек поднять.
  • Как пропарсить количество символов после точки?

    @kahi4
    В чем вопрос? Если приходит число именно как число (как 64 бита, что-то типа 1000101110101), то у целых никогда не бывает дробной части, у чисел с плавающей запятой никогда (кроме нуля) не бывает ровного значения, хвост всегда будет.

    Если число приходит в виде строки (но уже где-то на этапе процессинга преобразуется в число) -- ну проверяйте там, где оно еще строка.

    Если вопрос про json, у которого число вроде как число, но при этом строка -- придется повозиться, но все равно обрабатывать как строку. Чуть больше информации нужно
  • Как поместить объект в 2 переменных, так чтобы при изменении в одной, объект не менялся во второй?

    @kahi4
    Справедливости ради, не сработает с трехуровневым полем (a.b.c = 3), там нужен deep copy, который писать уже либо ручками, либо методом стек оверфлоу.
  • Проблемы с ReactJS. Как решить?

    @kahi4
    По поводу второго: https://github.com/zilverline/react-tap-event-plug... вот ишью, которая закрыта без решения проблемы. Судя по всему, всем плевать и вы выбрали не лучшую библиотеку. Можете либо снизить версию реакта, либо ... я не знаю, подождать чуда.
  • Какие вопросы на собеседовании ожидать по JS?

    @kahi4
    Не слишком сложные вопросы, а упоротые.
    Например: на вопрос 2 ответ -- какие-то сакральные знания, передающиеся от сенсея к ученику. Это не документировано, мало кто знает, да и может меняться. Да, одно из условий очевидно -- типы параметров вызова функции не должны меняться (иначе толку то компилировать, если каждый раз вызывается с разными типами аргументов), то два других не настолько очевидны. Если то, что функция должна быть вызвана n раз минимум, иначе большой шанс, что она будет вызвана вообще только один раз, еще можно догадаться, но прям с трудом (n = 100, к слову), то что v8 не компилирует функции с try-catch ты либо знаешь, либо нет.

    3. Опять из серии "знаешь ли ты". Старая байка, наравне "почему . вначале имени файла в линуксе скрывает этот файл". Хотя знать саму эту особенность нужно.

    6. Честные методы (он один: SIMD) -- гипернераспространены, да еще поддержка в зачаточном состоянии, web-assembly -- еще более плохая поддержка, да и вопрос же был про js, а веб-воркеры не гарантируют одновременного выполнения (более того, они почти наверное выполнятся последовательно, но не известно в каком порядке). А другие методы вообще странные (хотя понапридумывать можно). Хотя как подумать и пофантазировать вопрос не такой уж плохой.

    7. Ты либо знаешь либо нет, хотя додуматься, что во время закрытия вкладки нельзя кидать всякие alert можно. Но это тот вопрос, который нет смысла знать, потому что гуглится за две секунды. (А еще тут жутко расходятся реализации в основных браузерах).

    В итоге такие вопросы мало раскроют человека как специалиста, лишь покажут -- натыкался ли он на что-то из этого случайно в процессе работы или нет.
  • React+Redux VS Backbone (Marionette) в 2017?

    @kahi4
    Де-факто стандартом для реакта является draft.js (https://facebook.github.io/draft-js/ ). И да, его api мягко говоря гибкий, но требует некоторого времени на освоение. Впрочем, для bbcode плагин все-таки готовый уже есть (https://www.npmjs.com/package/draft-js-bbcode-converter . Ах да, там методология, что есть редактор, который возвращает в специальном формате, и есть конвертеры из него во что нужно).
  • Что нужно сделать с этим блоком что бы получить такой же эффект?

    @kahi4
    Эта вещь в целом называется off-canvas, так что по этому ключевому слову можно найти сотни реализаций. https://tympanus.net/codrops/2013/08/28/transition... вот тут небольшой набор различных реализаций, посмотрите.

    Для того, чтобы выезжало меню как в источнике, нужно убрать display flex, делать абсолютным позиционированием, в остальном все тоже самое. https://www.sitepoint.com/css3-sliding-menu/ вот еще один пример, но там вращают в другую сторону.
  • Зачем нужны матрицы в Direct3D?

    @kahi4
    "Число, вектор и матрица - это все массивы. Просто размерности разные." -- тензоры, если быть точнее, разного порядка (скаляр -- первого, вектор и матрица) -- второго
  • Почему из сдвигового регистра получился датчик присутствия?

    @kahi4 Автор вопроса
    Digital Brain: У меня в планах светодиодный куб 8 на 8 на 8 :)) Пока не под силу, скорее всего, хотя чего там сложного, но там уж подавно прийдется изучить ЛУТ, а то 64 транзистора на проводках -- проще повеситься :))
    К слову, раз уж спросил -- не подскажите какие лучше туда транзисторы ставить? И мучает вопрос -- всего получается 512 диодов. Развертка должна быть ну хотя бы 10 раз в секунду, как следствие -- один диод будет гореть всего 0.0002 секунды, а то и того меньше. Это не слишком мало, чтобы глаз успевал заметить? Или есть смысл бить по блокам (например, на 8 блоков 4х4х4)?

    Ну и в догонку: где вообще стоит спрашивать подобные темы? Есть какие-то живые форумы, а еще лучше ирк-чат или подобное? А то в тостере появится кучи кучи мелких вопросов. Ну и еще -- есть ли в Москве места, где есть все необходимое оборудование (например, для травли плат, где можно сверлить (корпус чтобы сделать) и подобное?
  • Почему из сдвигового регистра получился датчик присутствия?

    @kahi4 Автор вопроса
    Спасибо, Алексей POS_troi и Digital Brain , попробую сделать как вы советуете, заодно не буду паять напрямую к чипу, поставлю его в DIP гнездо.

    "Неиспользуемых входов тут нет- все они обязательны для работы" - два лишних есть. Один -- "выключить все сразу", второй -- сохранить в память (так понимаю, у него есть постоянная память). По крайней мере в документации сказано, что их входы не имеют значения в обычном режиме работы в большинстве случаев.
  • Почему из сдвигового регистра получился датчик присутствия?

    @kahi4 Автор вопроса
    Спасибо, ребят.
    Т.е. нужно все входы, независимо от того -- подключены они или нет, соединить с землей через сопротивление? Или только "висящие"?
    Выходы нужно соединять? (висит выход "Qh'" -- последовательный выход для каскадирование).
    Да уж, и так места нет практически, так еще пачку резисторов допаивать.
    И еще мучает вопрос, задам сразу -- действительно ли нужно каждый светодиод пускать через свое сопротивление или есть хитрые схемы с общим сопротивлением? (да да, закон Киргофа мешает просто пустить их через один, но может я не учел какую-то схему?)
  • Почему АЦП возвращает синусоиду?

    @kahi4 Автор вопроса
    Попробовал. Скачат, все одновременно, хотя значения портов немного различаются. Заметил странную особенность -- при подключении "serial monitor" (screen /dev/usb... последовательный порт который) первые пару секунд выводится шум (500 ± 100), а потом опять от 0 до 1023 как я уже кидал несколько раз. На самом деле настолько странное поведение, что у меня нет логичного объяснения кроме как что что-то неправильно компилируется (просто невероятно, если сломанный АЦП выдает явно периодичный сигнал). Завтра попробую другую версию IDE на другой операционке, может случится чудо. И написал в техподдержку, может они что ответят путное.
  • Почему АЦП возвращает синусоиду?

    @kahi4 Автор вопроса
    kahi4: с учетом, что минимальное сопротивление переменного реестра моего -- 100 Ом, спалить мог только случайно затронув провода в работающей схеме, но не буду исключать.
  • Почему АЦП возвращает синусоиду?

    @kahi4 Автор вопроса
    Виталий Пухов: я тоже склоняюсь к неисправности порта, как бы прискорбно это не звучало. Тем не менее, подключал согласно рекомендациям (точнее, примеру на официальном сайте. Да и раньше работал).
    Все равно очень странные показания -- ведь если бы порт сгорел (вместе с АЦП, нужно полагать, покуда повторяется на всех портах и при подключении к земле и к питанию через резистор) был бы либо 0, либо шум. А тут явно периодичный закон.
  • Почему АЦП возвращает синусоиду?

    @kahi4 Автор вопроса
    Расширил вопрос (со схемой, кодом и выводом)
  • Как сделать делитель частоты, не кратный степеням 2-ки?

    @kahi4 Автор вопроса
    Да, что-то сразу в голову не пришло. Изящное решение.
    А если делать совсем по-честному, правильно ли я понимаю, что есть готовые схемы, которые позволяют делить частоту, построенные на колебательных контурах? Т.е. есть генератор опорной частоты, к нему подключена схема с емкостью, изменяя которую, можно гладко изменять частоту в необходимом диапазоне? (это уже для самопознания) И поступают ли так в ПЛИС, или же всегда проще сделать "счетчиком с досчетом"?