Что такое matlab

Что такое matlab

В помощь математикам: обзор MATLAB

Обзор MATLAB

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

Что делать?

Раньше вариантов было всего два: плюнуть на все и пойти гулять или вступить в многочасовую схватку с интегралом. Ну, кому многочасовую, кому многоминутную – кто как учился. Но суть не в этом. Двадцатый век и неумолимо движущийся прогресс предлагают нам третий способ, а именно позволяют взять самый сложный интеграл «по-быстрому». То же самое касается решения всевозможных уравнений, построения графиков функций в виде кубических гиперболоидов и т.д.

Для таких неординарных, но периодически случающихся среди студентов ситуаций существует мощное математическое оружие. Встречайте, кто еще не знает – пакет программ MATLAB.

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

Это значит, что MATLAB – один из мощнейших на сегодняшний день пакетов обработки данных. Название расшифровывается как Matrix Laboratory. Матричная Лаборатория, если по-русски. Возможности программы покрывают практически все области математики. Так, пользуясь матлабом, Вы сможете:

  • Производить всевозможные операции над матрицами, решать линейные уравнения, работать с векторами;
  • Вычислять корни многочленов любой степени, производить операции над многочленами, дифференцировать, экстраполировать и интерполировать кривые, строить графики любых функций;
  • Проводить статистический анализ данных с использованием цифровой фильтрации, статистической регрессии;
  • Решать дифференциальные уравнения. В частных производных, линейных, нелинейных, с граничными условиями – не важно, матлаб все решит;
  • Выполнять операции целочисленной арифметики.

MATLAB

Помимо всего этого возможности MATLAB позволяют визуализировать данные вплоть до построения трехмерных графиков и создания анимированных роликов.

Наше описание матлаб, конечно, далеко не полное. Помимо предусмотренных производителем возможностей и функций существует огромное количество инструментов матлаб, написанных просто энтузиастами или другими компаниями.

MATLAB как язык программирования

М-файл

А еще MATLAB – это язык программирования, используемый непосредственно при работе с программой. Не будем вдаваться в подробности, скажем только, что программы, написанные на языке MATLAB, бывают двух видов: функции и скрипты.

MATLAB - серьезное средство для серьезных ребят

MATLAB — серьезное средство для серьезных ребят

Основной рабочий файл программы – М-файл. Это бесконечный текстовый файл, и именно в нем происходит непосредственно программирование вычислений. Кстати, пусть Вас не пугает это слово – для того, чтобы работать в MATLAB, вовсе не нужно быть профессиональным программистом.

М-файлы делятся на

  • М-сценарии. М-сценарий – самый простой тип M-файла, у которого отсутствуют входные и выходные аргументы. Данный файл используется для автоматизации многократно повторяемых вычислений.
  • M-функции. М-функции – это М-файлы, допускающие наличие входных и выходных аргументов.

Для того чтобы наглядно показать, как происходит работа в MATLAB, приведем ниже пример создания функции в матлабе. Данная функция будет вычислять среднее значение вектора.
function y = average (x)
% AVERAGE Среднее значение элементов вектора.
% AVERAGE(X), где X — вектор. Вычисляет среднее значение элементов вектора.
% Если входной аргумент не является вектором, генерируется ошибка.
[m,n] = size(x);
if (

((m == 1) | (n == 1)) | (m == 1 & n == 1))
error(‘Входной массив должен быть вектором’)
end
y =sum(x)/length(x); % Собственно вычисление

Строка определения функции сообщает системе MATLAB, что файл является М-функцией, а также определяет список входных аргументов. Так, строка определения функции average имеет вид:
function y = average(x)
Где:

  1. function — ключевое слово, определяющее М-функцию;
  2. y — выходной аргумент;
  3. average — имя функции;
  4. x — входной аргумент.

Итак, чтобы написать функцию в матлабе, необходимо помнить, что каждая функция в системе MATLAB содержит строку определения функции, подобную приведенной.

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

Недостатки работы с MATLAB

MATLAB - хорошо, но тяжело

MATLAB — хорошо, но тяжело

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

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

И напоследок. Если Вы не знаете, почему все в Вашей жизни пошло так, а не иначе, спросите об этом у матлаба. Просто наберите в командной строке “why” (почему). Он ответит. Попробуйте!

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

MatLab

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

MatLab как язык программирования создал в 1970-х годах Клив Моулер, декан факультета компьютерных наук в Университете Нью-Мексико. Разработка упрощала использование библиотек Linpack и EISPACK студентам, не умеющим программировать на языке Fortran. MatLab быстро распространился в других образовательных учреждениях США. После выступления в Стэнфордском университете с Кливом Моулером связался инженер Джон Литтл, который предложил учредить коммерческую компанию The MathWorks для развития языка и среды программирования.

Для чего нужен язык MatLab

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

  • математические вычисления и информационный анализ;
  • визуализация данных в виде двух- и трехмерных графиков, динамических анимаций;
  • программирование и разработка алгоритмов.

В основном MatLab используется в научных исследованиях и инженерных разработках. Например, он также применяется:

  • в разработке автоматизированных систем управления в различных механизмах, от обычных стиральных машин до аэрокосмических комплексов;
  • сборе и анализе различной финансовой информации (котировок акций, цен, процентов, доходов и т.д.), а также инвестиционной деятельности для прогнозирования ситуаций на биржах, оптимизации инвестиционных портфелей;
  • проектировании и анализе нейронных сетей как в рамках фундаментальных исследований, так и для решения прикладных задач: распознавания образов, управления нелинейными системами, прогнозирования и т.д.;
  • обработке и улучшении качества сигналов при разработке аудио- и видеооборудования, телекоммуникационных систем, медицинской диагностике (УЗИ, МРТ, КТ) а также в астрофизике, астрономии, геологии, геофизике и т.д.;
  • в биологии, биоинформатике, генетике, эпидемиологии для построения математических моделей различных биологических процессов и организмов.

Преимущества и недостатки

Преимущества

Легкость освоения. В сравнении с C/C++, Fortran и т.д. язык достаточно легко изучать. У него простой и интуитивно понятный синтаксис, а также масса сопроводительной документации от разработчиков. Для его использования оператору не обязательно быть профессиональным программистом.

Широкий функционал. Язык MatLab включает продвинутую библиотеку для обработки и построения графиков, интегрированные функции линейной алгебры (LAPACK, BLAS), быстрого преобразования Фурье (FFTW), работы с полиномами, базовой статистики, решения дифференциальных уравнений и пр.

Обновляемость. Основные обновления языка и всей среды программирования происходят два раза в год.

Преобразования в «быстрый» код. Программы, написанные на MatLab, можно перевести на C/C++ с помощью MatLab Coder.

Интегрированность. Большой выбор прикладных приложений от официальных и сторонних разработчиков расширяет возможности языка.

Большое научное сообщество. Язык MatLab используется во многих университетах и исследовательских институтах.

Недостатки

Перегруженность. Большое число команд и операторов существенно замедляют работу программ, написанных на MatLab (в последних версиях этот недостаток практически устранен). Данные хранятся в оперативной памяти в виде векторов, поэтому на быстродействие также сильно влияет скорость векторизации — преобразования данных в векторы и обратно, операции с ними.

Узкая направленность. Использовать MatLab можно только в его замкнутой экосистеме, на других программных платформах этот язык неэффективен.

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

Сочетание узкой специализации и высокой стоимости — основная причина, по которой программный пакет MatLab не получил широкого распространения.

MATLAB: инструмент будущего или дорогая игрушка

Несмотря на достаточно высокую популярность языка MATLAB, большинство разработчиков с трудом представляет, как его синтаксис, так и возможности. Всё дело в том, что язык напрямую связан с популярным программным продуктом, стоимость которого может достигать потрясающих воображение значений. Итак, главный вопрос: так ли хорош непосредственно язык Matlab? И может ли он быть полезен именно вам.

Использование

Начнём не со стандартного экскурса в историю и обсуждения плюсов и минусов языка, а с программной среды MATLAB/Simulink — единственного места, где герой этого текста может быть полезен. Просто представьте себе графический редактор, в котором вы сможете реализовать любую свою задумку, не имея за плечами нескольких лет опыта и соответствующего образования. И создав один раз схему взаимодействия инструментов, получить качественный скрипт для многократного использования.

MATLAB — именно такой редактор в мире данных. Область его применения безгранично широка: IoT, финансы, медицина, космос, автоматика, робототехника, беспроводные системы и многое-многое другое. В общем почти неограниченные возможности по сбору и визуализации данных, а также прогнозированию, но только если есть возможность купить соответствующий пакет.

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

Особенности языка

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

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

Узконаправленный. Нет никакой больше программной платформы, где бы MATLAB был полезен.

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

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

Язык легок для изучения, обладает простым и понятным синтаксисом.

Огромные возможности. Но это скорее преимущество всего продукта в целом.

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

Программная среда позволяет преобразовывать его в “быстрый” код на С, С++.

Целевая аудитория

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

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

Литература

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

MATLAB Step-by-Step — как всегда нет ничего лучше, чем официальный туториал, с примерами и подробными разъяснениями.

MATLAB for Beginners: A Gentle Approach, Питер Каттан — книга, рассчитанная на новичков не только в работе с MATLAB, но и с принципами обработки данных.

Matlab for Newbies: The bare essentials, Сидарта Верма — ещё одна книга рассчитанная на новичков, описывающая лишь среду программирования и основные команды языка.

MATLAB. Полный самоучитель, Дьяконов В.П. — одна из базовых университетских книг на русском языке.

Ссылка на основную публикацию