- •Средства программирования Практически невозможно предусмотреть в одной системе возможность решения всех задач. Поэтому программирование расширяет возможности системы matlab.
- •Основные средства программирования
- •Структура и свойства файлов сценариев
- •Тело файла с любыми выражениями
- •Структура и свойства файлов функций Файл функция – это типичный объект языка программирования системы matlab.
- •Локальные переменные могут иметь те же имена, что и глобальные.
- •Управляющие структуры
- •Выводится в командное окно. Возможны - ошибки (остановка вычислений), - предупреждения (останова нет).
- •Примеры применения операторов программирования
- •9. Графика
- •Построение графиков отрезками прямых
- •Значения строковой константы s
- •Функция plotyy (график, две оси у)
- •Отображение нескольких графиков в одном окне
- •Графика в логарифмическом масштабе
- •Столбцовые диаграммы
- •Гистограммы
- •Лестничные графики
- •Графики дискретных отсчетов функции
- •График с зонами погрешности
- •Трехмерная графика
- •Графика 3d
- •Круговые диаграммы
Структура и свойства файлов функций Файл функция – это типичный объект языка программирования системы matlab.
Является полноценным модулем, т.к. содержит входные и выходные параметры и использует локальные переменные.
Имеет следующую структуру для функции с одним выходным параметром:
function var=f_name(Список_параметров)
%Основной комментарий
%Дополнительный комментарий
Тело файла с любым выражением
var=<выражение> % вводится, если требуется, чтобы функция возвращала
результат вычислений
Для нескольких выходных параметров:
function [var1,var2,…]=f_name(Список_параметров)
%Основной комментарий
%Дополнительный комментарий
Тело файла с любыми выражениями
var1=<выражение>
var2=<выражение> % Такая функция напоминает процедуру, т.к. возвращает множество результатов по числу выходных параметров.
Свойства файла функции:
- начинается с объявления function, с указанием имени переменной var – выходного параметра, знака = и имени самой функции со списком ее входных параметров;
- функция возвращает свое значение и может использоваться в виде
name(Список_параметров) в математических выражениях;
- все переменные в теле файла являются локальными;
- является самостоятельным программным модулем;
- правила вывода комментариев те же, что у фалов сценариев;
- при обнаружении файла функции, он компилируются, и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATLAB;
- служит средством расширения системы MATLAB.
Статус переменных в функциях
Переменные, указанные в списке параметров функции, являются локальными и служат для переноса значений, которые подставляются на их место при вызовах функций. Изменение значений переменных в теле функции не влияет на значения, которые те же самые переменные могут иметь за пределами функции.
Локальные переменные могут иметь те же имена, что и глобальные.
Рассмотрим пример задания файла функции crlc(x,y)
function z=crcl(x,y) % x, y –параметры, являются локальными
z=x^2+y^2 % тело функции
Cохраним файл под именем, например, crcl.m.
В командной строке Command Window необходимо задать конкретные значения аргументов x и y, вызвать файл функцию по имени и получить результат расчета.
>> x=0; y=0; %задание входных параметров вне тела функции
>> w=crcl(2,3) % вызов функции при аргументах x=2, y=3
z
После выхода из тела функции переменные
принимают свои исходные значения,
равные 0.
Эти переменные меняют свои значения
на значения параметров функции только
в пределах тела функции.
А переменная z, определенная
в теле функции так же будет локальной.
Изначально ее значение будет не
определено. В теле функции переменная
принимает значение z=13.
А после возврата из функции, переменная
остается не определенной. На что
указывается сообщение:
13
w=
13
>>x
x=
0
>>y
y=
0
>> z
??? undefined function or variable ′z′
Чтобы не выводить функцию z на индикацию, необходимо в M файле после выражения для z поставить точку с запятой.
Function z=crcl(x,y)
z=x^2+y^2;
Для передачи данных из модуля в модуль функции желательно применение глобальных переменных.
Команда global var1 var2… позволяет объявлять переменные модуля-функции глобальными во всех m-файлах, используемых в решении данной задачи.
Имена функций должны быть уникальными.