Как стать автором
Обновить
8.53

Matlab *

Математическое моделирование и одноимённый ЯП

Сначала показывать
Порог рейтинга
Уровень сложности

Не Персеидами едиными или Моделируем вспышки спутников своими руками

Время на прочтение20 мин
Количество просмотров8.6K

Привет, Хабр! После красочных метеорных потоков мы плавно движемся к астрономической осени. В этом году она предвещает нам лунное затмение, соединение Венеры и Юпитера, а также полеты ярких рукотворных спутников. Мой сегодняшний рассказ – о том, как моделировать отражение света от таких спутников, и что необычного ожидает нас в этом октябре.



Вспышка Иридиума, первое фото своими руками – навелся не туда, затвор открыл поздно, горизонт завалил :)

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

Подключение MATLAB к Wolfram Mathematica

Время на прочтение7 мин
Количество просмотров7.5K


Вызов MATLAB из Mathematica с помощью MATLink


Как можно вызывать функции MATLAB напрямую из Mathematica и организовать обмен данными и переменными между двумя системами?

Для этого существует кроссплатформенный пакет под названием MATLink. С помощью него легко организовать вызов функций MATLAB прямо из Mathematica и передавать различные данные от одной системы другой.
Читать дальше →

Машинное обучение от Octave\Matlab к Python

Время на прочтение3 мин
Количество просмотров22K
Решил я познакомится с такой интересной для меня областью, как Machine learning. После непродолжительных поисков я обнаружил достаточно популярный курс Стэнфордского университета Machine learning. В нем рассказываются основы и дается широкое представление о machine learning, datamining, and statistical pattern recognition. Был для меня в этом курсе небольшой минус как Python программиста- домашние задания надо было выполнять на Octave\Matlab. В итоге я не пожалел, что получил представления о новом языке программирования, но как учебный пример для более тесного знакомства с соответствующими библиотеками решил переписать домашние задания на Python. То что получилось лежит на GitHub тут.

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

Создаем комнатный детектор движения на Arduino и MATLAB

Время на прочтение7 мин
Количество просмотров28K

В этом примере будет создан простой детектор движения, на базе фоторезистора и Arduino. Управляется при помощи Arduino Support Package для MATLAB.


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

Возможности Matlab для разработки и тестирования механистических торговых систем

Время на прочтение15 мин
Количество просмотров14K
Думаю, обосновывать необходимость тщательного тестирования и подбора параметров торговых стратегий нет необходимости… Лучше поясню, почему именно Matlab.

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

Анализ данных погодной станции, основанной на Arduino

Время на прочтение10 мин
Количество просмотров29K
Создание собственной личной метеостанции стало намного проще, чем раньше. С учетом непостоянной погоды в Новой Англии, мы решили, что хотим создать нашу собственную метеостанцию и использовать MATLAB для анализа метеоданных.

В статье мы ответим на следующие вопросы:
  • В каком направлении дул ветер в течение последних 3-х часов?
  • Как изменялись температура и точка росы в течение последней недели?
  • На самом ли деле падает барометрическое давление при приближении грозы?

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

Принцип анализа вариабельности сердечного ритма в MATLAB

Время на прочтение6 мин
Количество просмотров26K
Приветствую, Хабр! В этой публикации хочу представить свой опыт реализации алгоритма анализа ВСР человека в MATLAB. Теме анализа ВСР уделено достаточно внимания на Хабре. (поиск по слову ЭКГ) однако, как мне показалось, некоторые моменты раскрыты слабо или вовсе не рассматриваются. В данной статье не уделяется много внимание объяснению явления ВСР и теории методов ее анализа. Подразумевается, что читатель подготовлен, а основной упор сделан на использование для целей анализа функций и процедур MATLAB.
Читать дальше →

Тестирование математических алгоритмов

Время на прочтение5 мин
Количество просмотров19K
Эта статья написана для людей, прямо или косвенно связанных с промышленной разработкой математических алгоритмов для бизнеса, а также для профессиональных тестировщиков, от которых мы хотим услышать критику.

image

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

Лучшие подходы переноса кода MATLAB в фиксированную точку

Время на прочтение11 мин
Количество просмотров13K
При конвертации проекта из плавающей точки в фиксированную точку инженеры должны определить оптимальные типы данных в фиксированной точке. Эти типы данных должны удовлетворять ограничениям встраиваемой аппаратуры, при этом удовлетворяя системным требованиям по точности вычислений. Fixed-Point Designer помогает разрабатывать алгоритмы в фиксированной точке и конвертировать алгоритмы из плавающей точки в фиксированную точку, автоматически предлагая типы данных и атрибуты арифметики в фиксированной точке. При этом предоставляется возможность сравнения результатов симуляции в фиксированной точке с точностью до бита с эталонными результатами в плавающей точке.

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

Подготовка кода к переводу в фиксированную точку
Есть три шага, которые следует предпринять для обеспечения плавного процесса конвертации:
  1. Отделить основной алгоритм от остального кода.
  2. Подготовить код для инструментирования и ускорения.
  3. Проверить используемые функции на поддержку фиксированной точки.


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

Генетический алгоритм — наглядная реализация

Время на прочтение7 мин
Количество просмотров101K
Года четыре назад, в универе услышал о таком методе оптимизации, как генетический алгоритм. О нем везде сообщалось ровно два факта: он клёвый и он не работает. Вернее, работает, но медленно, ненадежно, и нигде его не стоит использовать. Зато он красиво может продемонстрировать механизмы эволюции. В этой статье я покажу красивый способ вживую посмотреть на процессы эволюции на примере работы этого простого метода. Нужно лишь немного математики, программирования и все это приправить воображением.

Кратко об алгоритме


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

Сама суть метода заключается в том, что мы модулируем эволюционный процесс: у нас есть какая-то популяция (набор векторов), которая размножается, на которую воздействуют мутации и производится естественный отбор на основании минимизации целевой функции. Рассмотрим подробнее эти процессы.
Читать дальше →

Функции для решения квадратичных сравнений. Реализация в MATLAB

Время на прочтение17 мин
Количество просмотров13K

Введение


Для решения криптографических задач необходимо уметь решать квадратичные сравнения по заданному модулю. Алгоритм решения квадратичного сравнения достаточно прост и не вызывает сложностей в решении при небольших значениях модуля и свободного члена, однако в связи с применением достаточно больших чисел в криптографии, решение квадратичных сравнений вручную является весьма кропотливым и длительным процессом. Конечно, для решения квадратичных сравнений можно воспользоваться онлайн-сервисом. Но так как решение криптографической задачи не заканчивается на решении квадратичного сравнения, то человеку, занимающемуся криптографией, будет удобно иметь функцию, способную решать квадратичные сравнения и свободно взаимодействовать с другими функциями, которые используются ним. Именно поэтому было решено написать функцию для решения квадратичных сравнений вида x^2 ≡ a ( mod p ), где a и p — взаимно простые числа, в MATLAB.


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

Научно-исследовательское программное обеспечение в ВУЗах Великобритании

Время на прочтение10 мин
Количество просмотров11K
От переводчика

В этой заметке коротко о том:
  • сколько исследователей пользуется научно — исследовательским программным обеспечением (ПО) в ВУЗах Великобритании?
  • какое именно ПО используется?
  • сколько исследователей разрабатывает свое исследовательское ПО, сколько является просто пользователями исследовательского ПО, как это зависит от дисциплины, их пола и других факторов?
  • какая компьютерная операционная система выбирается разработчиками и пользователями исследовательского ПО?

Так же вы найдёте и ссылку на файл с «сырыми» и детальными результатами исследований, такими как список исследованных университетов, число опрошенных человек от каждого университета, область их работы и так далее. Это будет особенно полезным для тех кто пожелает самостоятельно проанализировать результаты.


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

ВВП, денежная масса и динамическое равновесие

Время на прочтение2 мин
Количество просмотров7.2K
В статье «Сбалансированная денежная единица и многосторонний клиринг» я описывал модель международных расчетов, построенную на клиринге и СДЕ — сбалансированной денежной единице.

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

Начну с описания численной модели.

Пусть в экономике страны участвуют 20 независимых субъектов.
Каждый производит некий абстрактный продукт — на сумму 100 СДЕ в единицу времени.
Задана начальная сумма денег у каждого субъекта.
Будем проводить три испытания — с начальными суммами соответственно 50, 100 и 150 единиц национальной валюты.
Начальный курс СДЕ к национальной валюте положим равным 1.
В каждую единицу времени каждый субъект может продать от 0 до 15 процентов (случайное число) продукта за границу и заработать на этом денег.
Остальной продукт потребляется.
Так же субъект может потратить от 0 до 15 процентов (случайное число) своих денег на приобретение импортных товаров.

Начальный баланс страны в клиринговой системе равен нулю.

Рассмотрим три случая:
1. Курс СДЕ фиксирован.
2. Между клиринговым балансом страны и курсом СДЕ существует обратная связь, не зависимая от времени.
3. Зависимая от времени обратная связь.

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

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

Ближайшие события

Деньги, товар и немного статистики. Дополнение

Время на прочтение2 мин
Количество просмотров4.7K
В статье «Деньги, товар и немного статистики» я описывал метод статистического анализа долгосрочной динамики цен и построения диверсифицированного продукта — некой корзины товаров, для которой стандартное отклонение его относительной цены за определенный период времени минимально.
Напомню, в начале вычисляются относительные цены товаров, затем их матрица ковариаций и с помощью метода множителей Лагранжа вычисляется условный минимум.

В этой статье я попробую исследовать еще несколько зависимостей.
Под катом графики.
Читать дальше →

Просто о сложном: высокопроизводительные вычисления для инженерных и научно-исследовательских задач

Время на прочтение12 мин
Количество просмотров21K
Что нужно чтобы вскопать огород? При наличии огорода, нужны рабочие инструменты и рабочая сила (работники). А что делать если нужно вскопать быстрей или больше? Можно позвать друзей или нанять других людей, то есть увеличить число работников. Вот это и является примером высокопроизводительного вскапывания огорода. Не всегда можно увеличивать производительность вскапывания огорода путём поиска сильных работников, так как производительность каждого отдельно взятого работника ограничена. Потому и приходится прибегать к услугам большего числа работников.

Аналогично и с высокопроизводительными вычислениями. Работниками (анг. workers) так и называются отдельные компьютеры и процессорные ядра в вычислительных кластерах, если опираться на терминологию пакета МАТЛАБ (англ. MATLAB). В документации других кластеров эти ядра и компьютеры называются нодами (англ. nodes), так и буду их называть в этой заметке.
Читать дальше →

Разработка угловой стабилизации квадрокоптера

Время на прочтение5 мин
Количество просмотров42K
Данная статья скорее логическое продолжение моей статьи о балансере: «Создание робота балансера на arduino».
В ней будут очень кратко освещены: простая модель угловой стабилизации квадрокоптера с использованием кватернионов, линеаризация, построение управления для объекта и проверка его в Matlab Simulink, а так же проверка на реальном объекте. В качестве подопытного будет выступать Crazyflie 1.0.

Сейчас оно летает так (на момент съемок я не очень правильно выставил управление):


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

Деньги, товар и немного статистики. Часть вторая

Время на прочтение2 мин
Количество просмотров7.8K
В первой части статьи я писал о статистической обработке данных по ценам на товары за более чем 30 лет.
Здесь я попробую отследить взаимосвязи между отдельными товарами.
Если быть более точным, под катом немного matlab-кода и изображения графов.
Читать дальше →

Деньги, товар и немного статистики

Время на прочтение4 мин
Количество просмотров22K
Пару лет назад мне попалась интересная статья о взаимосвязи цен на золото и нефть.

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

После долгих поисков по интернету, я нашел этот сайт, с которого скачал архив цен (скачать XLS) на товары за 35 лет.

Все данные я обрабатывал в MATLAB.
Читать дальше →

Реализация метода Куттера-Джордана-Боссена в MATLAB

Время на прочтение10 мин
Количество просмотров16K
Введение

Доброго времени суток, пользователи Хабра!

В этой статье речь пойдет о программной реализации стеганографического метода Куттера-Джордана-Боссена в MATLAB.

Для тех, кто не знает, поясню: стеганография — это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи. В данном методе текстовая информация записывается в изображение по определенному алгоритму. С самим алгоритмом вы можете ознакомиться в посте от 11 марта 2011 года «Стеганографический метод Куттера-Джордана-Боссена». Более подробное описание алгоритма можно найти в статье Защелкина, Иващенко, Иванова «Усовершенствование стеганографического скрытия данных Куттера-Джордана-Боссена».

А теперь перейдем непосредственно к коду.
Читать дальше →

Реализация схемы разделения секретной визуальной информации в MATLAB

Время на прочтение7 мин
Количество просмотров7.2K
Введение

Всем доброго времени суток!

Уверен, что многие из вас уже интересовались методами разделения секретной визуальной информации. Если это так, то вы наверняка знакомы с работой Мони Наора и Ади Шамира, посвященной визуальной криптографии, а также с постом от 19 апреля 2013 года Схема разделения секретной визуальной информации . Я изучил предложенный в этой статье алгоритм и код функции, написанный на MATLAB, и пришел к выводу, что он написан не рационально: его можно записать значительно короче, а также повысить эффективность его работы. Как это сделать, я опишу ниже. Также рассмотрю как организовать.
Читать дальше →