Редактор и M-файлы. Типы M-файлов (сценарии и функции). Набор и сохранение текстов. Комментарии. Сохранение данных из рабочей области.
Средства построения диаграмм, гистограмм, плоских и трехмерных графиков функций.
Редактор и M-файлы. Типы M-файлов (сценарии и функции). Набор и сохранение текстов. Комментарии. Сохранение данных из рабочей области. Визуализация данных. Команда plot. Столбиковые диаграммы и гистограммы. Двумерные графики. Ступенчатые кривые. Вывод графиков в полярной системе координат. Кривые с погрешностями. Изображение функций. Трехмерные графики. Одномерная кривая в пространстве. Сеточные поверхности. Изолинии. Векторные поля. Создание анимированных изображений.
Редактор и M-файлы. Типы M-файлов (сценарии и функции). Набор и сохранение текстов. Комментарии. Сохранение данных из рабочей области.
Файлы, которые содержат коды языка MATLAB, называются M-файлами. Для создания M-файла используется текстовый редактор; вызову М-файла предшествует присваивание значений входным аргументам; результатом является значение выходной переменной. Таким образом, вся процедура работы с M-файлом включает две операции:
1. Создать M-файл, используя текстовый редактор:
function c = myfile(a, b)
c = sqrt((a.^2)+(b.^2))
2. Вызвать M-файл из командной строки или из другого M-файла:
а = 7.5
b = 3.342
c = myfile(a, b)
c = 8.2109
Типы M-файлов. Существует два типа M-файлов: М-сценарии и М-функции со следующими характеристиками
М-сценарий (скрипт) | М-функция |
Не использует входных и выходных аргументов | Использует входные и выходные аргументы |
Оперирует с данными из рабочей области | По умолчанию, внутренние переменные являются локальными по отношению к функции |
Предназначен для автоматизации последовательности шагов, которые нужно выполнять много раз | Предназначена для расширения возможностей языка MATLAB (библиотеки функций, пакеты прикладных программ) |
Структура M-файла. М-файл, оформленный в виде функции состоит из следующих компонентов
Строка определения функции Первая строка комментария Комментарий | function f = fact (n) % FACT Вычисление факториала. % fact(n) возвращает n! - факториал числа n % Вычислить fact (n) = prod(1:n). f = prod(1:n); |
Тело функции |
Структура этой простейшей функции содержит компоненты, которые являются общими для любых функций системы MATLAB:
Строка определения функции задаёт имя, количество и порядок следования входных и выходных аргументов.
Первая строка комментария определяет назначение функции. Она выводится на экран с помощью команд lookfor или help <имя каталога>.
Комментарий выводится на экран вместе с первой строкой при использовании команды help <имя функции>.
Тело функции - это программный код, который реализует вычисления и присваивает значения выходным аргументам.
M-файлы являются обычными текстовыми файлами, которые создаются с помощью текстового редактора. Для операционной среды персонального компьютера система MATLAB поддерживает специальный встроенный редактор/отладчик, хотя можно использовать и любой другой текстовый редактор с ASCII-кодами.
Открыть редактор можно двумя способами:
- из меню выбрать опцию New, а затем Function или Script.
- использовать команду редактирования edit.
Пример
Команда edit fact запускает редактор и открывает файле fact.m. Если имя файла опущено, то запускается редактор и открывается файл без имени. Теперь можно записать, например, функцию fact, приведенную выше, вводя строки текста и сохраняя их в файле с именем fact.m в текущем каталоге. Как только такой файл создан, можно выполнить следующие команды:
Вывести на экран имена файлов текущего каталога:
what
Вывести на экран текст M-файла fact.m:
type fact
Вызвать функцию fact с заданными параметрами:
fact (5)
ans= 120
Пример
Функция average - это достаточно простой M-файл, который вычисляет среднее значение элементов вектора:
function y = average (x)
% AVERAGE Среднее значение элементов вектора.
% AVERAGE(X), где X - вектор. Вычисляет среднее значение элементов вектора.
% Если входной аргумент не является вектором, генерируется ошибка.
[m,n] = size(x);
if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
error('Входной массив должен быть вектором')
end
y =sum(x)/length(x); % Собственно вычисление
Здесь:
1. function - ключевое слово, определяющее М-функцию;
2. y - выходной аргумент;
3. average - имя функции;
4. x - входной аргумент.
Попробуйте ввести эти команды в M-файл, именуемый average.m. Функция average допускает единственный входной и единственный выходной аргументы. Для того чтобы вызвать функцию average, можно ввести следующие операторы:
z = 1:99;
average(z)
ans = 50
Каждая функция в системе MATLAB содержит строку определения функции, подобную приведенной.
Если функция имеет более одного выходного аргумента, список выходных аргументов помещается в квадратные скобки. Входные аргументы, если они присутствуют, помещаются в круглые скобки. Для отделения аргументов во входном и выходном списках применяются запятые.
Пример
function [x, y, z] = sphere(theta, phi, rho)
Первая строка комментария. Для функции average первая строка комментария выглядит так:
Дата добавления: 2017-03-29; просмотров: 679;