2,9K подписчиков

Первые шаги в MatLab

1,2K прочитали

Здравствуйте, Дорогие друзья! Помнится в одной из статей я пообещал, что мы будем знакомиться с программированием и даже рассказал малую толику того, что должен знать разработчик сайтов. Сегодня же я хочу продолжить тему программирования. Но на этот раз мы углубимся в неё, то есть начнем подниматься на уровень «выше понимания простого смертного». А речь сегодня пойдет о программировании в MatLab. Кто не знаком с этой программной средой, расскажу о ней. Матлаб – пакет различных программ, с помощью которого можно проводить сложнейшие вычисления, строить 2Д и 3Д графики, проектировать фильтры, антенны и многое, многое другое. У Матлаба есть собственный язык. Некоторые называют его Си-подобным, но я бы усомнился, что эти люди когда-либо в Матлабе работали... Итак, знакомьтесь: MatLab:

Рисунок 1 – Старт Матлаб
Рисунок 1 – Старт Матлаб

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

Рисунок 2 – Интерфейс среды Матлаб
Рисунок 2 – Интерфейс среды Матлаб

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

Рисунок 3 – Создание нового файла
Рисунок 3 – Создание нового файла

И тут у новичка возникнет сбой системы (в переносном смысле), потому что программа не попросит придумать имя файла или сохранить его: файл просто откроется под именем по умолчанию Untitled.

Рисунок 4 – Окно программы Матлаб
Рисунок 4 – Окно программы Матлаб

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

Здравствуйте, Дорогие друзья! Помнится в одной из статей я пообещал, что мы будем знакомиться с программированием и даже рассказал малую толику того, что должен знать разработчик сайтов.-5

И пусть у нас иксы находятся в диапазоне от 0 до 10. С калькулятором человеку работы минут на пять – десять, Матлабу же - на пару минут. Давайте введем исходные данные:

Рисунок 5 – Исходные данные
Рисунок 5 – Исходные данные

Разбираемся, что я написал и почему так. Я ввел в этой строчке массив переменных икс. Если бы мы писали его в, скажем Экселе, то он выглядел бы как-то так:

Рисунок 6 – тот же массив в Экселе
Рисунок 6 – тот же массив в Экселе

В «мозгу» Матлаба наш массив так и будет представлен. Мы же создали его одной строчкой. Итак, в первой строчке нашего кода введен массив переменных. Сразу за знаком «равно» указывается крайнее левое, ну или верхнее значение массива, затем ставится двоеточие и указывается шаг инкрементирования (прибавления к предыдущему значению) значений в массиве. Затем вновь ставится двоеточие и указывается верхняя граница массива, то есть крайнее правое значение. В нашем случае десятка. Можно ли не указывать шаг? Конечно можно, тогда Матлаб по умолчанию установит его равным единице. Теперь еще один момент: всегда по возможности нужно комментировать код – это одно из главных правил программистов. Для того, чтобы сделать комментарий, достаточно установить перед текстом значок процента «%». Комментируем:

Рисунок 7 – Добавляем комментарий
Рисунок 7 – Добавляем комментарий

Больше у нас исходных данных нет. Вводим нашу функцию:

Рисунок 8 – Вводим функцию
Рисунок 8 – Вводим функцию

На этом рисунке отображены сразу четыре особенности Матлаб:

1. перед знаком степени всегда ставится точка (ну не всегда, но первое время лучше ставить);

2. перед знаком деления всегда ставится точка (та же история);

3. если строка не вмещается, то её можно перенести, поставив троеточие после знака (в нашем случае, знак – это плюс);

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

Я специально сделал огреху в написанном коде (на рисунке 8) и если Вы уже пробовали хоть что-нибудь делать в Матлабе, то уже нашли её. Ну ладно, идём дальше: оставим комментарий у функции и запустим скрипт в работу:

Рисунок 9 – Добавляем комментарий
Рисунок 9 – Добавляем комментарий

Для того, чтобы запустить нашу программу, нажимаем кнопку Run:

Рисунок 10 – Запускаем программу
Рисунок 10 – Запускаем программу

И вот оно: то, о чем я Вам говорил. Программа просит указать место сохранения файла и назвать его:

Рисунок 11 – Сохранение файла перед запуском
Рисунок 11 – Сохранение файла перед запуском

Сохранять файлы Матлаба нужно только под названиями, написанными на латинице! Директория же может находиться где угодно и путь к директории может содержать кириллицу и спецсимволы. Я создам на диске D папку «Универ на диване» и сохраню файл туда под именем «Univer_na_divane_1».

Рисунок 12 – Сохраняем файл
Рисунок 12 – Сохраняем файл

Сохранили. И Матлаб просит подтвердить, нужно ли ему использовать внесенные нами коррективы:

Рисунок 13 – Запуск программы
Рисунок 13 – Запуск программы

Нажимаем «Change Folder» и ждём, когда Матлаб проведет вычисления.

Рисунок 14 – Матлаб завершил вычисления
Рисунок 14 – Матлаб завершил вычисления

Матлаб вычисления провёл, об этом мы можем судить по командной строке, где отобразилось имя файла. Но где же решения уравнения??? Теперь напоминаю про ошибку, которую я допустил в коде специально. Расскажу о ней подробно: при проведении вычислений Матлаб выгружает ответы в командную строку (Command Window), но делает он это если в конце строки не ставится точка с запятой. Через пару минут я объясню зачем это нужно, а сейчас давайте исправим ошибку (удалим точку с запятой) и снова запустим скрипт на вычисление:

Рисунок 15 – Результаты вычислений
Рисунок 15 – Результаты вычислений

И вот, пожалста: результаты вывелись в командную строку. О точности ответов поговорим в одной из следующих статей. А пока что запомните две очень важные команды:

- clear– очистка данных из Workspace(там хранятся все переменные);

- clc– очистка командной строки.

Применяем:

Рисунок 16 – Очищаем Workspace
Рисунок 16 – Очищаем Workspace
Рисунок 17 – Очищаем командную строку
Рисунок 17 – Очищаем командную строку

После очистки командная строка примет первозданный вид:

Рисунок 18 – Очищенная командная строка
Рисунок 18 – Очищенная командная строка

Для чего я всё это делал и где нам пригодится точка с запятой после функции? Давайте представим, что нам нужно построить график нашей функции, а значения функции в командную строку выводить не обязательно (в некоторых случаях, особенно когда этих значений очень много, их вообще выводить нельзя, так как Ваш компьютер от обилия данных может зависнуть). Ну что ж, давайте построим график нашей функции. Для этого у Матлаба есть очень много функций, но на первое время ограничимся с Вами функцией plot. У этой функции следующий синтаксис:

plot (имя переменной, имя функции, ‘атрибут графика’, значение атрибута, еще куча атрибутов со значениями);

Здесь действуем на своё усмотрение: хотим, ставим точку с запятой, не хотим – не ставим. Итак: имя переменной у нас икс, имя функции – игрек. Атрибуты пока указывать не будем.

Рисунок 19 – Пишем код для построения графика
Рисунок 19 – Пишем код для построения графика

Нажимаем Run и ждём, когда Матлаб построит график:

Рисунок 20 – Матлаб построил график
Рисунок 20 – Матлаб построил график

И, о чудо: график построен. Вот только выглядит он как-то пресно. Кашу маслом не испортишь, а график не испортишь координатной сеткой. Закрываем окно графика (можно просто свернуть) и добавляем к коду еще одну строчку, которая включает сетку на графике: grid on.

Рисунок 21 – График с координатной сеткой
Рисунок 21 – График с координатной сеткой

Ну что, так намного лучше? Полученный график мы можем отскринить или сохранить в формате джипег. Для этого в окошке графика нажимаем File:

Рисунок 22 – Открываем меню Файл графика
Рисунок 22 – Открываем меню Файл графика

Далее нажимаем Save_As и в открывшемся окне указываем нужный нам формат, выбираем директорию, вводим название файла и т.д.:

Рисунок 23 – Сохраняем график как картинку
Рисунок 23 – Сохраняем график как картинку

Ну что ж, на сегодня, пожалуй, хватит. Мы ознакомились с некоторыми функциями и способностями программной среды MatLab. Скажу сразу: Матлаб – лицензионная программа и добыть легально лицензию можно двумя способами: купить её или же получить ключ в своём учебном заведении. Весит программа по современным меркам немного (всего то) не меньше 17 Гигабайт (есть конечно выборочная установка, но при ней можно не установить то, о чем не знаешь и что пригодится в будущем). Почему иногда эта программа просто незаменима? Отвечу на этот вопрос так: сегодня мы с Вами считали одиннадцать значений функции, а что если этих значений у нас будет миллион или миллиард? Справится ли какая-либо другая программа с таким количеством данных? Не факт. И это только один довод. Спасибо, что посетили мой канал, а если ещё и подписались на него, то стократное спасибо. Надеюсь, эта статья была вам интересна (по крайней мере, если вы дочитали её до этого места...), если это так, то поделитесь ею со своими друзьями, вдруг и им пригодится. Удачи в учебе и труде! Жду в гости на своём канале.