Как запустить скрипт в matlab

REDMOND

Документация

Самый простой тип MATLAB ® программа называется script. Скрипт является файлом, который содержит несколько последовательных линий команд MATLAB и вызовов функции. Можно запустить скрипт путем введения его имени в командной строке.

Скрипты

Чтобы создать скрипт, используйте edit команда,

Эта команда открывает пустой файл с именем mysphere.m . Введите некоторый код, который создает сферу единичного радиуса, удваивает радиус и строит результаты:

Затем добавьте код, который вычисляет площадь поверхности и объем сферы:

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

Сохраните файл в текущей папке. Чтобы запустить скрипт, введите его имя в командной строке:

Можно также запустить скрипты из Редактора с помощью кнопки Run .

Live скрипты

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

Например, преобразуйте mysphere к live скрипту путем выбора Save As и изменения типа файла в MATLAB live code ( *.mlx ). Затем замените комментарии к коду на форматированный текст. Например:

Преобразуйте строки с комментариями в текст. Выберите каждую линию, которая начинается с символа процента, и затем выберите Text . Удалите символы процента.

Перепишите текст, чтобы заменить комментарии в конце строк кода. Чтобы применить моноширинный шрифт к именам функций в тексте, выбрать M. Чтобы добавить уравнение, выберите Equation на вкладке Insert.

Text and font options are in the Text section of the Live Editor tab.

Создать новый live скрипт с помощью edit команда, включайте .mlx расширение с именем файла:

Циклы и условные операторы

В рамках любого скрипта можно задать разделы кода, которые или повторяются в цикле или выполняются по условию. Циклы используют for или while ключевое слово и условные операторы используют if или switch .

Циклы полезны для создания последовательностей. Например, создайте скрипт под названием fibseq это использует for цикл, чтобы вычислить первые 100 чисел последовательности Фибоначчи. В этой последовательности первые два числа равняются 1, и каждый последующий номер является суммой предыдущих двух, Fn = Fn-1 + Fn-2.

Когда вы запускаете скрипт, for оператор задает счетчик под названием n это запускается в 3. Затем цикл неоднократно присваивает f(n) , постепенное увеличение n на каждом выполнении, пока это не достигает 100. Последняя команда в скрипте, f(1:10) , отображает первые 10 элементов f .

Условные операторы выполняются только тогда, когда присваиваемые им условия выполняются. Например, присвойте значение переменной в зависимости от размера случайного числа: ‘low’ Средняя , или ‘high’ . В этом случае случайное число является целым числом между 1 и 100.

Оператор sz = ‘high’ только выполняется когда num больше или равен 67.

Местоположения скрипта

MATLAB ищет скрипты и другие файлы в определенных местах. Чтобы запустить скрипт, файл должен быть в текущей папке или в папке на search path.

По умолчанию, MATLAB папка, которую создает Инсталлятор MATLAB, находится на пути поиска файлов. Если вы хотите сохранить и запустить программы в другой папке, добавьте его в путь поиска файлов. Выберите папку в Браузере текущей папки, щелкните правой кнопкой, и затем выберите Add to Path.

Глава 3. Скрипты в matlab и управляющие конструкции

В предыдущих разделах все примеры выполнялись в режиме командной строки, когда команда выполняется сразу же после ее ввода. Такой режим удобен, если нужно быстро проверить как работает та или иная функция или рассчитать небольшую задачу. Недостатком такого режима является то, что при перезапуске среды MATLAB последовательность команд не сохраняется нигде кроме окна истории, которое не предназначено для постоянного хранения последовательности команд. Для больших задач, а также для задач, которые нужно запускать на выполнение несколько раз, удобнее сохранить последовательность действий в так называемый скрипт (script). Скрипты сохраняются в файлы с расширением .m, которые в документации иногда называются m-файлы (m-files).

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

Для того чтобы создать скрипт и открыть его в редакторе MATLAB, нужно в главном меню выбрать пункт File — New — Script или нажать кнопку "New Script" на панели инструментов ( ). При этом откроется окно, показанное на рисунке 3.1.

Другой способ создания нового скрипта состоит в использовании команды edit в окне "Command Window. В этом случае можно создать файл с заданным именем, передавая имя скрипта как параметр:

Если файл myscript.m уже существует в текущей директории (текущая директория — это директория, в которой MATLAB ищет файлы, указанные только по имени без указания полного пути, текущая директория показана в окне "Current Folder"), то он будет открыт во встроенном редакторе, в противном случае MATLAB предложит создать файл с таким именем.

Встроенный редактор MATLAB – довольно удобный инструмент, который заметно облегчает написание и исправление больших программ. Среди особенностей редактора можно отметить:

раскраска синтаксиса языка MATLAB;

подсветка парных скобок;

подсказки параметров функций во всплывающем окне (Рис. 40);

подсветка ошибок по мере набора текста программы без запуска скрипта на выполнение.

Скрипты представляют собой последовательности тех же самых команд, которые использовались выше (с той лишь разницей, что в скриптах не нужно набирать строку приглашения командного режима >>). Например, скрипт, созданный на основе одной из последовательностей команд предыдущего раздела, будет выглядеть следующим образом:

% Верхний левый график

REDMOND

[x1, y1] = meshgrid (-2: 0.1: 2, -2: 0.1: 2);

f1 = x1 .^ 2 + y1 .^ 2;

% Верхний правый график

f2 = sinc (x2 / pi);

Внешний вид редактора, в котором был набран этот текст, показан на рисунке 40.

Для того, чтобы запустить этот скрипт на выполнение, нужно выбрать пункт меню Debug — Run. (вместо многоточия будет указано имя файла скрипта), нажать одноименную кнопку на панели инструментов ( ), или нажить горячую клавишу F5. Дальнейшие примеры будут предполагать, что они запускаются в виде скрипта, поэтому символы приглашения командного режима (>>) будут отсутствовать, хотя те же самые команды можно последовательно набирать и в командном режиме.

Так как длинные команды плохо читаются, то рекомендуется их всегда разбивать на несколько строк. Обычно считается, что строка программы не должна превышать 80 символов (это число появилось еще во времена текстовых терминалов, когда на экране по горизонтали умещалось только такое количество символов). Поэтому в редакторе MATLAB даже проведена вертикальная линия на ширине 76 символов, за которую не желательно выходить.

Так как транслятор считает, что каждая команда заканчивается символом переноса строк (или конца файла), это накладывает ограничение на разбиение длинной команды на две строки. Для того чтобы сообщить транслятору, что команда будет продолжена на следующей строке, используется оператор ". " (три точки). Например, если нужно команду

[x1, y1] = meshgrid (-2: 0.1: 2, -2: 0.1: 2);

разбить на две строки, чтобы повысить ее удобочитаемость, это можно сделать следующим образом:

[x1, y1] = meshgrid (-2: 0.1: 2, .

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Пользовательские функции и файл-скрипты

Любую последовательность команд в MATLAB можно оформить в виде m-файла.

  • Файл-скрипт не имеет входных и выходных аргументов.
  • Файл-скрипт работает с данными из рабочей области.
  • Все переменные, объявленные в файл-скрипте, являются глобальными.
  • запустить скрипт из редактора, нажав F5 (MS Windows)
  • набрать в консоли (Command window) имя скрипта и нажать Enter.

Во втором случае файл-скрипт должен находится в текущем (рабочем) каталоге

или в списке каталогов, которые просматривает MATLAB. Этот список можно изменить нажав кнопку Set Path на ленте Home

Файл-скрипт можно для удобства разделить на секции при помощи удвоенного знака процента %%. Код в каждой секции можно выполнить отдельно от остального кода, нажав F9 (MS Windows), когда курсор находится в нужной секции.

Файл-функции

  • inline функции
  • анонимные функции
  • файл-функции

Inline-функции

Inline-функция объявляется при следующим образом:

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

Вызывается объявленная inline, как и любая другая функция, например, для объявленной выше функции двух переменных:

Анонимные функции

Более практичны в сравнении с inline-функциями анонимные функции, которые могут содержать имена переменных из рабочей среды. Анонимные функции также можно использовать для объявления коротких однострочных функций, создание для которых отдельных m-файлов нецелесообразно.

Анонимная функция объявляется при помощи символа @, за которым в круглых скобках следуют аргументы функции, а затем её выражение, например, для объявления функции \[f(x_1, x_2) = x_1^2 + x_2^2\]

Анонимные функции удобно использовать внутри выражений, например для построения графика функции \(x^2 + sin(x)\) на интервале от 0 до 5 можно написать

но проще использовать анонимную функцию прямо в функции fplot

Файл-функция

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

Создание файл-функции: File -> New -> Function

По умолчанию все переменные внутри функции являются локальными. Для того, чтобы несколько функций использовали одну переменную, её необходимо объявить глобальной.

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

Функция прекращает работу после выполнения последнего оператора. Принудительно завершить функцию можно директивой return.

Файл-функция вместе с определением основной функции может содержать определения вспомогательных функций, доступных к вызову только из основной функции. Переменные, используемые во внутренних функциях локальные.

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *