Иллюстрированный самоучитель по MatLab

Основы программирования

  • Основные понятия программирования

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

    Итак, программами в системе MATLAB являются m-файлы текстового формата, содержащие запись программ в виде программных кодов. Язык программирования системы MATLAB имеет следующие средства: | данные различного типа; | константы и переменные; | операторы, включая операторы математических выражений;
  • Основные типы данных

    Структура типов данных системы MATLAB представлена ниже. | Типы данных array и numeric являются виртуальными ("кажущимися"), поскольку к ним нельзя отнести какие-либо переменные. Они служат для определения и комплектования некоторых типов данных.
  • Виды программирования

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

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

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

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

    М-файл-функция является типичным объектом языка программирования системы MATLAB. Одновременно он является полноценным модулем с точки зрения структурного программирования, поскольку содержит входные и выходные параметры и использует аппарат локальных переменных.
  • Статус переменных и команда global. Использование подфункций. Частные каталоги.

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

    Вывод сообщений об ошибках | Часто в ходе вычислений возникают ошибки. Например, мы уже сталкивались с проблемой вычисления функции sin(x)/x – при х = 0 имеет место ошибка вида "деление на ноль". При появлении ошибки вычисления могут завершиться досрочно с выводом сообщения об ошибке.
  • Функции с переменным числом аргументов. Функции подсчета числа аргументов.

    При создании функций со специальными свойствами весьма полезны две приведенные ниже функции: | nargin – возвращает число входных параметров данной функции; | nargout – возвращает число выходных параметров данной функции.
  • Переменные varargin и varargout

    Для упрощения записи аргументов функций их можно представить списком, который определяет специальная переменная varargin, являющаяся массивом ячеек. Она должна записываться строчными буквами и может включать в себя как аргументы, так и опции функций.
  • Комментарии. Особенности выполнения m-файлов функций.

    Как отмечалось, команда help name, где name – имя m-файла, обеспечивает чтение первой строки с текстовым комментарием и тех строк с комментариями, которые следуют непосредственно за первой строкой. Комментарий, расположенный за пределами этой области, не выводится.
  • Создание Р-кодов

    Когда встречается сценарий или функция в виде m-файла, то всякий раз выполняется трансляция файлов, создающая так называемые Р-коды (псевдокоды). Она связана с синтаксическим контролем сценария или функции, который несколько замедляет вычисления.
  • Управляющие структуры. Диалоговый ввод.

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

    Условный оператор if в общем виде записывается следующим образом: | if Условие | Инструкции_1 | else if Условие | Инструкции_2 | else | Инструкции_3 | end | Эта конструкция допускает несколько частных вариантов. В простейшем, типа if…end: | if Условие Инструкции end | Пока Условие возвращает логическое значение 1 (то есть "истина"), выполняются Инструкции, составляющие тело структуры if…end.
  • Циклы типа for…end. Циклы типа while…end.

    Циклы типа for…end обычно используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла имеет следующий вид: | for var=Выражение. Инструкция.....
  • Конструкция переключателя

    Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа switch: | switch switch_Выражение | case case_Выражение | Список_инструкций | case {case_Выражение1, Case_выражение2, case_Выражение3....} | Список_инструкций | otherwise.
  • Конструкция try…catch…end

    В MATLAB 6 введена новая конструкция блока вывода ошибок try…catch…end: | try. | Список инструкций | Список инструкций catch. | Список инструкций | ... | Список инструкций | end | Эта конструкция выполняет все списки инструкций.
  • Создание паузы в вычислениях

    Для остановки программы используется оператор pause. Он используется в следующих формах: | pause – останавливает вычисления до нажатия любой клавиши; | pause(N) – останавливает вычисления на N секунд; | pause on – включает режим отработки пауз; | pause off – выключает режим отработки пауз.
  • Понятие об объектно-ориентированном программировании

    Мы уже много раз упоминали различные объекты языка программирования системы MATLAB. Это является одним из признаков объектно-ориентированного программирования (ООП), причем чисто внешним. В основе объектно-ориентированного программирования лежат три основных положения. | Инкапсуляция –
  • Создание класса или объекта. Проверка принадлежности объекта к заданному классу.

    Для создания класса объектов или объектов, а также для их идентификации служит функция class. Формы ее применения представлены ниже. | class (OBJ) – возвращает класс указанного объекта OBJ. Типы стандартных классов double, sparse, char, cell, struct, functionjiandle были перечислены выше.
  • Другие функции объектно-ориентированного программирования

    Для получения списка методов данного класса объектов сейчас чаще используются функции methodsview и methods. Отличиями от what имя класса является то, что эти функции возвращают информацию также и о классах Java, но информация выводится в отдельном окне, не сообщается информация о папках, все методы из всех папок собраны вместе, и повторяющиеся имена методов удалены:
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.