Альфа-бета фильтр Калмана: фильтр «Hello, world!»
Данная статья подойдёт прежде всего для новичков, которые ничего не понимают в фильтрации, а стандартный и адаптивный фильтры Калмана вызывают недоумение. Прошу отнестись к ней с этой оговоркой.
Фильтрация нужна везде, где есть шум, а значит её применение имеет очень широкий диапазон.
Смотреть статью
Данная статья подойдёт прежде всего для новичков, которые ничего не понимают в фильтрации, а стандартный и адаптивный фильтры Калмана вызывают недоумение. Прошу отнестись к ней с этой оговоркой.
Фильтрация нужна везде, где есть шум, а значит её применение имеет очень широкий диапазон.
Смотреть статью
Хабр
Альфа-бета фильтр Калмана: фильтр «Hello, world!»
Disclaimer : данная статья подойдёт, на мой взгляд, прежде всего для новичков, которые ничего не понимают в фильтрации, а фильтры Калмана вызывают недоумение. Прошу отнестись к ней с этой оговоркой....
Zlib
Сжатие любых объёмов данных (даже превышающих объём памяти) с помощью zlib проводится предельно легко.
Zlib написана на языке С и применяется в тысячах проектов. Использование некоторых других библиотек невозможно без использования zlib. Примером такой библиотеки является основная библиотека для работы с растровой графикой в формате .png — libpng.
http://zlib.net/
Сжатие любых объёмов данных (даже превышающих объём памяти) с помощью zlib проводится предельно легко.
Zlib написана на языке С и применяется в тысячах проектов. Использование некоторых других библиотек невозможно без использования zlib. Примером такой библиотеки является основная библиотека для работы с растровой графикой в формате .png — libpng.
http://zlib.net/
C++ OpenGL Tutorial
OpenGL является одним из самых популярных прикладных программных интерфейсов для разработки приложений в области двумерной и трехмерной графики.
Смотреть видеоуроки
OpenGL является одним из самых популярных прикладных программных интерфейсов для разработки приложений в области двумерной и трехмерной графики.
Смотреть видеоуроки
Меняем фреймворк юнит-тестирования одной строчкой кода
Коротко, о чем статья: использование различных фреймворков юнит-тестирования для поддержки качества кода прошивок микроконтроллеров на языке С/С++, способ миграции на новый фреймворк, если на старом уже написано большое количество тестов.
Смотреть статью
Коротко, о чем статья: использование различных фреймворков юнит-тестирования для поддержки качества кода прошивок микроконтроллеров на языке С/С++, способ миграции на новый фреймворк, если на старом уже написано большое количество тестов.
Смотреть статью
Tproger
Как сменить фреймворк при большом количестве юнит-тестов
Как сменить фреймворк для юнит-тестирования на С и С++, если количество самих тестов слишком велико, а писать их заново не хочется.
Call Stack Logger — инструментирование функций как способ отслеживания потока выполнения программы
Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и сил?
Смотреть статью
Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и сил?
Смотреть статью
Хабр
Call Stack Logger — инструментирование функций как способ отслеживания потока выполнения программы
Введение Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и...
Регулятор нагрузки при помощи arduino nano
Данный регулятор управляется при помощи arduino и симисторного выхода. Необходимую мощность мощно выставить при помощи двух кнопок, а подаваемая мощность отображается на трехразрядном семисегментном индикаторе в процентах (0 - мощность не подается, 100 - максимальная мощность). Данный регулятор можно использовать для плавного управления нагревом нагревателей (для самогонных аппаратов самое то).
https://habr.com/ru/post/722184/
Данный регулятор управляется при помощи arduino и симисторного выхода. Необходимую мощность мощно выставить при помощи двух кнопок, а подаваемая мощность отображается на трехразрядном семисегментном индикаторе в процентах (0 - мощность не подается, 100 - максимальная мощность). Данный регулятор можно использовать для плавного управления нагревом нагревателей (для самогонных аппаратов самое то).
https://habr.com/ru/post/722184/
Быстрая сортировка
Отсортируйте заданный массив с помощью быстрой сортировки.
Формат входных данных:
Первая строка входных данных содержит одно натуральное число nn (1 ≤ n ≤ 10^5) – количество элементов в массиве. В следующей строке находятся элементы массива – n целых чисел, не превосходящих по абсолютной величине 10^9.
Формат выходных данных:
Выведите элементы массива в порядке неубывания.
Отсортируйте заданный массив с помощью быстрой сортировки.
Формат входных данных:
Первая строка входных данных содержит одно натуральное число nn (1 ≤ n ≤ 10^5) – количество элементов в массиве. В следующей строке находятся элементы массива – n целых чисел, не превосходящих по абсолютной величине 10^9.
Формат выходных данных:
Выведите элементы массива в порядке неубывания.
#вопросы_с_собоседований
В чем различия между delete и delete[]?
delete предназначен для уничтожения объектов, память под которые выделена при помощи new(). delete[] для объектов выделенных при помощи оператора new[]().
При неправильном использовании оператора delete (например, delete вместо delete[]) результат будет: undefined behavior.
В чем различия между delete и delete[]?
delete предназначен для уничтожения объектов, память под которые выделена при помощи new(). delete[] для объектов выделенных при помощи оператора new[]().
При неправильном использовании оператора delete (например, delete вместо delete[]) результат будет: undefined behavior.
Жадный алгоритм
Данный алгоритм на каждом шаге делает локально оптимальный выбор, надеясь в итоге получить глобально оптимальное решение.
Пример: Дробный Рюкзак
Задача состоит в том, чтобы выбрать, какие предметы, имеющие вес и стоимость, поместить в рюкзак ограниченной ёмкости W, да так, чтобы максимизировать общую ценность его содержимого. Мы можем определить соотношение стоимости предмета к его весу, т. е. с «жадностью» выбирать предметы, имеющие высокую стоимость, но в то же время маленький вес, а затем сортировать их по этим критериям. В задаче с дробным рюкзаком нам разрешено брать дробные части предмета.
Поскольку сортировка — самая дорогая операция, алгоритм работает за время O(n log n). Принимая в формате (стоимость, вес) три пары предметов — {(60, 10), (100, 20), (120, 30)} — и итоговую вместительность рюкзака W = 50, приведённый выше код выводит следующее:
жадный дробный рюкзак
максимальная ценность: 240.
Данный алгоритм на каждом шаге делает локально оптимальный выбор, надеясь в итоге получить глобально оптимальное решение.
Пример: Дробный Рюкзак
Задача состоит в том, чтобы выбрать, какие предметы, имеющие вес и стоимость, поместить в рюкзак ограниченной ёмкости W, да так, чтобы максимизировать общую ценность его содержимого. Мы можем определить соотношение стоимости предмета к его весу, т. е. с «жадностью» выбирать предметы, имеющие высокую стоимость, но в то же время маленький вес, а затем сортировать их по этим критериям. В задаче с дробным рюкзаком нам разрешено брать дробные части предмета.
Поскольку сортировка — самая дорогая операция, алгоритм работает за время O(n log n). Принимая в формате (стоимость, вес) три пары предметов — {(60, 10), (100, 20), (120, 30)} — и итоговую вместительность рюкзака W = 50, приведённый выше код выводит следующее:
жадный дробный рюкзак
максимальная ценность: 240.
C++17 — std::string_view и никакого копирования
Назначение std::string_view заключается в том, чтобы избежать копирования данных, которые уже чему-то принадлежат и для которых требуется только лишь неизменяемое представление. Как вы уже могли догадаться, этот пост будет посвящен производительности. В статье пойдет речь об одной главных фич C++17.
Смотреть статью
Назначение std::string_view заключается в том, чтобы избежать копирования данных, которые уже чему-то принадлежат и для которых требуется только лишь неизменяемое представление. Как вы уже могли догадаться, этот пост будет посвящен производительности. В статье пойдет речь об одной главных фич C++17.
Смотреть статью
Корутины в UnrealEngine
В этой статье автор рассказывает, как можно улучшить читаемость асинхронного кода и сократить немалое количество писанины.
Смотреть статью
В этой статье автор рассказывает, как можно улучшить читаемость асинхронного кода и сократить немалое количество писанины.
Смотреть статью