На этапе DESTINATION программа установки попросит указать папку для установки. Рекомендуется оставить папку, предлагаемую по умолчанию:
C:\Program Files\Polyspace\R2020b
Это не обязательно, но упростит работу, если в дальнейшем Вы решите устанавливать дополнительные toolbox'ы.
После этого на этапе PRODUCTS установщик предложить выбрать необходимые компоненты (те самые toolbox'ы). Выбор компонент основывается на двух критериях: для чего планируется использовать Matlab и какие компоненты какие функции содержат.
Например, если предполагается исследование или проектирование антенн, то естественно будет выбрать (помимо прочего) Antenna Toolbox. В другом случае выбор пакета для установки может быть продиктован наличием в нем уже написанной функции, которая потребуется для каких-то иных целей (отличных от тех, для которых изначально разработан toolbox). Так, функция дискретного преобразования Фурье (скорее всего) входит в состав Signal Processing Toolbox, в связи с чем этот toolbox и может быть установлен - несмотря на то, что непосредственно обработкой сигналов заниматься планов нет.
Вот список toolbox'ов, которые установлены на моем компьютере (MATLAB Parallel Server предназначен для выполнения облачных вычислений, для персонального использования его устанавливать не нужно):
1) MATLAB
2) Simulink
3) Audio Toolbox
4) Automated Driving Toolbox
5) Computer Vision Toolbox
6) Control System Toolbox
7) Curve Fitting Toolbox
8) Data Acquisition Toolbox
9) Database Toolbox
10) Datafeed Toolbox
11) Deep Learning HDL Toolbox
12) Deep Learning Toolbox
13) DO Qualification Kit
14) DSP System Toolbox
15) Embedded Coder
16) Filter Design HDL Coder
17) Fixed-Point Designer
18) Fuzzy Logic Toolbox
19) Global Optimization Toolbox
20) GPU Coder
21) IEC Certification Kit
22) Image Acquisition Toolbox
23) Image Processing Toolbox
24) Instrument Control Toolbox
25) MATLAB Coder
26) MATLAB Compiler
27) MATLAB Compiler SDK
28) MATLAB Report Generator
29) MATLAB Web App Server
30) Mixed-Signal Blockset
31) Model Predictive Control Toolbox
32) Model-Based Calibration Toolbox
33) Motor Control Blockset
34) Navigation Toolbox
35) OPC Toolbox
36) Optimization Toolbox
37) Parallel Computing Toolbox
38) Partial Differential Equation Toolbox
39) Predictive Maintenance Toolbox
40) Reinforcement Learning Toolbox
41) Robust Control Toolbox
42) SerDes Toolbox
43) Signal Processing Toolbox
44) SimBiology
45) SimEvents
46) Simscape
47) Simscape Driveline
48) Simscape Electrical
49) Simscape Fluids
50) Simscape Multibody
51) Simulink 3D Animation
52) Simulink Check
53) Simulink Code Inspector
54) Simulink Coder
55) Simulink Compiler
56) Simulink Control Design
57) Simulink Coverage
58) Simulink Design Optimization
59) Simulink Design Verifier
60) Simulink Desktop Real-Time
61) Simulink PLC Coder
62) Simulink Real-Time
63) Simulink Report Generator
64) Simulink Requirements
65) Simulink Test
66) SoC Blockset
67) Spreadsheet Link
68) Stateflow
69) Statistics and Machine Learning Toolbox
70) Symbolic Math Toolbox
71) System Composer
72) System Identification Toolbox
74) Text Analytics Toolbox
75) Wavelet Toolbox
Список может быть большим, потому что иногда для установки одного toolbox'а требуется наличие установленного другого - при возникновении такой необходимости установщик об этом предупреждает. Вообще, сегодня проблем с памятью, как правило, нет, так что можно было бы установить вообще все toolbox'ы, однако это может снижать время работы программы.
Во время установки автоматически создается папка
C:\Users\<username>\Documents\MATLAB
- после завершения установки в этом желательно убедиться. Все файлы, функции (и др.), которые Вы будете разрабатывать, желательно хранить в этой директории.
Ниже по тексту эта папка для краткости будет называться "пользовательской папкой" или "папкой пользователя".
Во время установки программа предлагает создать ярлык на рабочем столе, однако де-факто делает это не всегда. Это можно исправить вручную: исполняемый файл matlab.exe находится в папке
C:\Program Files\Polyspace\R2020b\bin
Правой кнопкой мыши -> Отправить -> Рабочий стол (создать ярлык).
Сведения, представленные ниже, при первом знакомстве следует понимать как инструкцию по выполнению настройки. О том, почему нужно делать так, а не иначе, будет рассказано по ходу дела или несколько позже. Задача - настроить Matlab для комфортной работы.
В Matlab имеются 5 основных рабочих областей (с которыми пользователь имеет дело чаще всего):
Основная панель с вкладками "HOME", "PLOTS", "APPS", "EDITOR", "PUBLISH" и "VIEW";
Текущая папка (Current Folder);
Редактор кода (Editor);
Окно команд (Command Window);
Рабочая область (Workspace)
- все они показаны на рисунках ниже. (Возможно, вместо "Рабочей области" корректнее было использовать "Рабочее пространство".)
Взаимное расположение областей представлено в качестве примера и может быть изменено с помощью перетаскивания мышью (впрочем, как будет видно из дальнейшего, на рисунках представлен один из оптимальных вариантов).
Результатом работы в Matlab является, как правило, файл (с расширением .m), содержащий код (программы, функции и т. д.), который можно открыть с помощью обычного блокнота. В зависимости от системных настроек, по умолчанию на разных ЭВМ могут применяться различные кодировки (наиболее распространенной является UTF-8, но можно встретить и cp-1251 или другие). В связи с этим, при переносе файлов между двумя ЭВМ вместо русскоязычных комментариев могут выводиться различные крокозябры - это можно исправить, просто сохранив текстовый m-файл с нужным расширением. Важно: как правило, простая смена расширения не помогает - нужно пересохранить файл с помощью какого-либо редактора (в тяжелых случаях на помощь приходят AkelPad или Notepad++ - обе версии не требуют установки).
Во всех пособиях по Matlab'у знакомство с ним чаще всего начинается с окна Command Window, где пользователь может вводить команды по одной и получать результат их выполнения. Это неудобно; условимся сразу, что вся работа будет выполняться в окне Редактора кода (окно Command Window чаще всего используется для вывода необходимых промежуточных или окончательных результатов).
На рисунках выше не показана еще одна область, представляющая интерес - Окно построения графиков (Figure). При первом построении графика оно появляется поверх Matlab - это может быть неудобным, особенно в случае, когда график требуется перестраивать несколько раз. Чтобы не отвлекаться на постоянное переключение между Matlab'ом и окном Figure, последнее можно закрепить.
Пусть требуется нарисовать график функции sin(x) на промежутке от 0 до 2π с амплитудой A = 1. Matlab показывает результат в отдельном окне, которое выводится поверх самого Matlab'а (на код программы пока внимания мы не обращаем). На рисунках ниже показано, как можно закрепить окно Figure внутри Matlab, чтобы избежать связанных с ним неудобств.
После того, как окно Figure оказалось закрепленным внутри Matlab'а, может потребоваться его перенос в удобное место - это делается точно так же, как с другими окнам (Editor, Command Window и др.).
К числу полезных мелочей, делающих работу в программе удобной, относятся некоторые команды и горячие клавиши, которые сильно облегчают процесс написания и отладки кода.
В число наиболее важных команд входят:
clear - удаляет все содержимое области Workspace;
clc - очищает окно Command Window от результатов предыдущих выводов;
clf - полностью очищает текущее графическое окно;
cla - очищает текущие графические оси;
disp - выводит текстовую строку в формате char или string в окно Command Window;
exist <arg> - проверяет существование команды, файла, функции (и некоторых других объектов) с именем arg;
help <arg> - выводит в окно Command Window справку по команде arg.
Большая часть команд образована от сокращенных английских слов. Например,
clc = clear command window, num2str = number to string
(команда перевода числа в виде double в формат string) и т. д.
С командой exist связано одно очень важное обстоятельство: Matlab использует нестрого типизированный язык. Это, в частности, означает, что по незнанию пользователь может переименовать встроенную функцию. Например, пусть есть вектор
x = [1 2 3 4 5].
Сумму значений его элементов можно найти с помощью команды sum(x). Пользователь, однако, может для каких-то своих целей создать переменную с именем sum, например,
sum = 10.
Теперь команда sum(x) будет воспринята Matlab'ом как попытка обратиться к элементам массива sum (т. к. к этому времени sum - одномерный массив) с номерами 1, 2, 3, 4 и 5 - это, естественно, вызовет ошибку, поскольку в массиве sum нет элементов с такими номерами (заодно упомянем, что нумерация элементов массивов в Matlab начинается с 1, а не с 0).
Причина возникшей ошибки в том, что была переименована встроенная команда. Этого можно было бы избежать, если перед объявлением новой переменной спросить (например - и чаще всего так и делают - в Командном окне)
exist sum
В ответ Matlab выдаст значение 5 - это означает, что среди известных ему объектов уже есть команда с таким названием (случаю, когда потенциальное имя не зарезервировано, отвечает значение 0).
Второй возможной проверкой является попытка выполнить команду
help sum
в ответ на которую Matlab - в случае, если ему известен объект с таким именем - выведет соответствующую команде sum справку. Лучше взять за правило при наличии сомнений применять обе проверки.
К числу горячих клавиш относятся следующие:
[F12] - позволяет поставить / снять точку остановки программы, что очень удобно для целей отладки;
[F5] - запускает код m-файла на выполнение (до конца или до ближайшей точки остановки);
[F10] - позволяет выполнять программу по шагам после того, как она была прервана точкой остановки;
[F9] - позволяет выполнить только ту часть кода, которая в данный момент выделена мышкой;
[SHIFT] + [F5] - позволяет досрочно завершить выполнение программы, остановленной с помощью точки остановки.
При установке пакет Matlab и сопровождающие его toolbox'ы каждый устанавливаются в свою папку. Это значит, в частности, что в каждой такой папке помимо прочего хранятся написанные авторами toolbox'а функции, которые пользователь применяет при написании программ. Чтобы Matlab знал, где ему искать описание этих функций, внутри программы ведется своего рода журнал, в котором записаны все папки, которые Matlab просматривает в поисках нужной функции.
Получить список этих папок можно, выполнив (например, в Командном окне) команду
path
или перейдя на вкладку Home:
Home -> Set Path
Обратите внимание, что в числе этих папок имеется автоматически созданная при установке папка пользователя, о которой шла речь выше (на рисунке ниже она первая в списке).
Все папки, которые находятся в этом списке, условимся ниже называть рабочими папками.
В качестве небольшого отступления упомянем о папке с именем
C:\Users\<username>\AppData\Local\Temp\Editor_****
где вместо **** стоят какие-либо символы (на рисунке соответствующая строка выделена фокусом). Эта папка создается при работе Matlab'ом как временная, ее можно без опасений удалять из списка. Иногда при запуске Matlab жалуется, что не обнаружил подобной папки - это не страшно.
Создадим в пользовательской папке новую папку
C:\Users\<username>\Documents\MATLAB\example_folder
- это можно непосредственно из программы Matlab, щелкнув правой кнопкой мыши на свободную область поля Current Folder. После этого во вновь созданной папке создадим m-файл (Script в терминологии Matlab - например, с именем Untitled), и, открыв его в Редакторе кода, напишем в нем какие-нибудь команды; пусть это будут
clear; clc
x = 1
Сохраним файл, оставив его открытым в окне Редактора кода.
Теперь в рамках Matlab вернемся в папку пользователя (так, чтобы в окне Current Folder отображалась папка example_folder, а в адресной строке был указа адрес папки пользователя) и попробуем запустить на исполнение открытый в Редакторе кода файл Untitled. Мы увидим сообщение вида
File <full file name> is not found in the current folder or on the MATLAB path
после чего Matlab предложит 4 варианта действий:
сменить текущую папку на ту, в которой находится запрашиваемый для исполнения файл (Change Folder);
добавить папку, в которой находится запрашиваемый для исполнения файл (в нашем примере - папку example_folder) в список рабочих папок (Add to Path);
отменить запрашиваемую операцию выполнения файла (Cancel);
обратиться к справке (Help).
По умолчанию - и это не случайно - предлагается первый вариант (перейти в папку с исполняемым файлом). Важно не добавлять в число рабочих папок Matlab'а все папки подряд, поскольку в противном случае возможно не только замедление работы, но и конфликты типа того, который был описан в примере с функцией sum.
Если папка все же случайно была добавлена, ее можно удалить следующим образом:
Set Path -> [выбрать удаляемую папку] -> Remove -> Save -> Close
Поскольку, скорее всего, использовать рабочие папки все же придется, рассмотрим пример. Создадим в пользовательской папке директорию
C:\Users\<username>\Documents\MATLAB\1_my_standart_functions
(Такое длинное имя выбрано, прежде всего, из соображений уникальности - в целях избежать повторения истории с функцией sum). После этого необходимо выполнить
Set Path -> Add Folder -> [выбрать добавляемую папку] -> [Выбор папки] -> Save -> Close
и убедиться, что папка была добавлена в список рабочих папок (для удобства дальнейшего использования их лучше упорядочивать, как в примере выше).
Папки, добавленные в список рабочих папок, отображаются в проводнике Matlab'а немного ярче.
Если непосредственно после установки запустить Matlab, то, скорее всего, в окне Current Folder будут отображаться папки и файлы, которые находятся в той же папке, куда установлен Matlab. Именно для того чтобы случайно не изменить содержимое этой папки (еще одна отсылка к примеру с функцией sum), мы договорились, что все разрабатываемые файлы, функции и прочее будут сохраняться в папке пользователя (или в папках внутри нее).
Чтобы при каждом запуске не было необходимости менять текущую папку вручную, можно воспользоваться опцией
Last working folder from previous MATLAB session
которая доступна в настройках
HOME -> Preferences -> General
Проверить работоспособность настройки можно, закрыв Matlab и открыв его заново: в окне Current Folder должно отображаться содержимое папки пользователя.
По непонятным причинам иногда случается так, что эта опция не работает. Возможно, это связано с тем, что при установке на рабочем столе не был создан ярлык, поскольку описание прямо говорит, что "Эта настройка применяется, когда MATLAB запускается с помощью ярлыка". Одним из способов решения этой проблемы является применение двух специальных файлов: startup.m и finish.m.
Команды, записанные в этих файлах, выполняются автоматически при запуске и завершении работы Matlab соответственно. Для того, чтобы применение этих файлов было возможно, они должны находиться в одной из рабочих папок - папка
C:\Users\<username>\Documents\MATLAB\1_my_standart_functions
была создана именно для этой цели.
Примечание - Конечно, одной папки оказывается недостаточно. Из рисунка выше (на котором приведено окно со списком рабочих папок) видно, что на деле их нужно гораздо больше, причем в целях организации они могут быть и вложенными.
Для решения проблемы "автозагрузки" требуется создать два новых файла и сохранить их в указанной папке. Код, который нужно написать в этих файлах для исправления ошибки, обсуждается отдельно.