Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Применение MATLAB для решения аналитических задач моделирования. Учебное пособие
.pdf
Рабочая область. Переменные
21
Программа чувствительна к регистру, таким образом, переменные a
и A могут иметь разные значения.
Рис. 10. Рабочая область
Переменные можно сохранить в Рабочей области (Workspace),
представленной на рис. 10. Для этого введите команду
>> save [имяфайла].
Например, команда >> save file.mat сохранит данные в файле
file.mat.
Для сохранения отдельных переменных необходимо указывать их
имена. Также отдельные переменные можно выбрать при выполнении
команды загрузки из сохраненного файла.
Рабочая область отображается в окне справа.
Рис. 11. Значение data в Рабочей области
При двойном щелчке лкм по столбцу Value можно просмотреть
значения переменных, хранящихся в Рабочей области. Например, переменная data представляет собой таблицу 7х4 со следующими числовыми
значениями (рис. 11, 12).

Применение Matlab для решения аналитических задач моделирования
22
Рис. 12. Развернутый вид переменной data
В дальнейшем вы можете загружать данные из файла, используя
команду >> load [file_name]. Например, >> load file.mat .
Команда clear позволяет очистить Рабочую область. Также Рабочая
область очищается при закрытии программы MatLab или с помощью выбора соответствующего пункта контекстного меню, вызываемого щелчком пкм по Рабочей области. Для очистки Командного окна используется
команда clc.
Значения переменных и констант в программах Matlab устанавливаются при загрузке системы, задаются вручную или формируются автоматически в процессе вычислений. При заполнении значений переменных в ходе вычислений в случае, когда имя переменной не задано,
создается автоматическая переменная ans, которая хранит результат выполнения последней операции. Например, при расчетах, приведенных
ниже (рис. 13).
>> 347*11
ans = 3817
Рис. 13. Пример создания и заполнения переменной ans

Рабочая область. Переменные
23
Если по заданию требуется варьировать параметры функции, ис-
пользуются переменные varargin и varargout. Для выходных параметров
используется переменная varargout, которая возвращает список выходных параметров переменной длины. Например, varargout = foo(x) возвращает список параметров длины функции foo.
Переменная varargin принимает функцию с переменным количеством аргументов. Например, f = function bar (varargin) – принимает переменное количество аргументов в функцию bar.
Переменные varargin и varargout используются строго внутри mфайлов для установки произвольных аргументов функции. Эти переменные обозначаются только строчными буквами и всегда последними
указываются в списке входов/выходов.
Помимо переменных программа позволяет работать с константами, например π. Чтобы использовать ее числовое значение в расчётах,
необходимо записывать ее как "pi".
Расчеты можно запускать для отдельных секций. Для этого необходимо выбрать нужный блок в Рабочей области и нажать Run section на
панели вверху (рис. 14).
Рис. 14. Запуск расчетов для отдельной секции
Можно переключаться между нужными секциями с помощью меню
справа. Например, опция Hide code выводит на экран только зону расчетов (Calculate area) (рис. 15).
При нахождении ошибки в коде программа выдает сообщение об
ошибке. Вы можете просмотреть описание ошибки, наведя указатель
мыши на индикатор сообщения или подчеркнутый код (рис. 16, 17).

Применение Matlab для решения аналитических задач моделирования
24
Рис. 15. Кнопка скрытия
расчетов
Рис. 16. Пример сообщения
об ошибке
Рис. 17. Развернутая информация о предупреждении
При наличии предупреждений, скрипт все равно будет работать, но
предупреждения могут помочь найти потенциальные проблемы или возможности для улучшения кода. Предупреждения подчеркнуты оранжевым.
Лабораторная работа № 2.
Создание и редактирование переменных
1. Для данных, введенных с клавиатуры, определите, являются ли
введенные значения числовым массивом. Преобразуйте массив в строку.

Рабочая область. Переменные
25
2. Определите, являются ли введенные значения символьным мас-
сивом. Преобразуйте строку в массив чисел.
3. Преобразуйте число в формате с плавающей точкой к символьно-
му значению.
4. Перечислите переменные, хранящиеся в рабочей области.

Применение Matlab для решения аналитических задач моделирования
26
СТРУКТУРА ПРОГРАММЫ ПАКЕТА MATLAB
Программа в MatLab – это некоторая функция. За ключевым сло-
вом function следует имя программы. Например,
>>function sum
a = 2;
b = 2;
с = a + b
c = 4
Приведенная выше программа состоит из функции sum и вычисля-
ет сумму переменных a и b.
При сохранении программы в m-файл рекомендуется выбирать имя
файла, соответствующее имени функции. Например, sum. Несколько дополнительных функций могут храниться в одном m-файле. Для этого в
конце листинга основной программы добавьте ключевое слово function и
имя дополнительной функции.
Основные математические операции
С числами MatLAB позволяет производить стандартные математические операции (табл. 8).
Таблица 8
Основные математические операции
Операция
Назначение
+
Сложение
*
Умножение
–
Вычитание
^
Возведение в степень
/
Деление слева направо
\
Деление справа налево
Порядок выполнения операций такой же, как в математике. Для
изменения порядка вычисления используются скобки.

Структура программы пакета Matlab
27
Лабораторная работа № 3.
Структура программы в Matlab.
Математические операции
С помощью стандартных математических операций вычислите зна-
чение выражения соответственно варианту, приведенному в табл. 9.
Таблица 9
Варианты задания для лабораторной работы № 3
№ варианта
Задание
1
7!
2
Среднее арифметическое чисел 1–5
3
8! 4 Значение х в выражении 2*х=10/8
5
Среднее арифметическое чисел 10–17
6
Значение у в выражении у=1002/4
7
Значение х в выражении у=210/8
8
Среднее арифметическое чисел 16–24
9
Значение у в выражении 5*у=20/4
10
6!

Применение Matlab для решения аналитических задач моделирования
28
ФУНКЦИИ
Функции в MATLAB расположены в отдельных файлах и включают операторов, выполняющих некоторую задачу. Как было сказано ранее,
имя функции должно совпадать с именем файла.
Локальное рабочее пространство – пространство для работы
функций – работают с переменными. Базовое рабочее пространство –
общее рабочее пространство, доступ к которому осуществляется через
команды, введенные в командной строке MATLAB.
Функции могут иметь несколько входных аргумента и несколько
выходных аргументов. Синтаксис оператора функции в общем виде выглядит следующим образом:
>>function [out1,..., outN] = myfunction(in1,..., inN).
Объявление функций
function [y1, ..., yN] = myfunction (x1, ..., xM) объявляет функцию с
именем myfunction, которая принимает входные данные x1, ..., xM и возвращает выходные данные y1, ..., yN. Этот оператор объявления должен
быть первой исполняемой строкой функции. По аналогии с именами переменных, имена функций в Matlab начинаются с буквенного символа и
включают латинские буквы, цифры или знаки подчеркивания.
Программа MatLab позволяет работать как со стандартными, так и
с пользовательскими функциями. Элементарные функции приведены в
табл. 10.
Таблица 10
Элементарные функции в Matlab
Обозначение
Значение
sin(x), asin
Синус и обратный синус (аргумент в радианах)
sind(x), asind
Синус и обратный синус (аргумент в градусах)
sinh(x), asinh
Гиперболический синус и обратный синус (аргумент
в радианах)
Аналогично для других тригонометрических функций:
cos
Косинус
tan
Тангенс

Функции
29
Окончание табл. 10
Обозначение
Значение
csc
Косеканс (отношение длины гипотенузы к длине стороны,
противоположной острому углу в прямоугольном треугольнике)
sec
Секущая
cot
Котангенс
abs(x)
Абсолютное значение Х, комплексная величина
exp(x)
Экспонента Х
sqrt(x), nthroot(x,n)
Квадратный корень из Х, корень заданного порядка из Х
log(x)
Натуральный логарифм по основанию Х
log2(x), log10
Логарифмы с основаниями 2 и 10 соответственно
factorial(n)
Факториал – сумма всех положительных целых чисел,
меньших или равных n, где n – неотрицательное целочисленное значение
sign(x)
Знак x mod (x, d). Остаток после деления (по модулю)
ceil(x), fix, floor
Округляет каждый элемент X до ближайшего целого числа, большего или равного этому элементу
round(x)
Округляет каждый элемент X до ближайшего целого числа.
В случае, когда элемент имеет дробную часть ровно 0,5,
функция округляет Х до целого числа с большей величиной
Вы можете сохранить свою функцию:
1. В файле функций, который содержит только определения функ-
ций. Имя файла должно совпадать с именем первой функции в файле.
2. В файле сценария, который содержит команды и определения
функций. Функции должны быть в конце файла. Файлы сценариев не могут иметь то же имя, что и функция в файле. Функции поддерживаются в
скриптах версии R2016b или более поздней.
Файлы могут включать несколько локальных или вложенных
функций. Для удобочитаемости используйте ключевое слово end, чтобы
указать конец каждой функции в файле. Конечное ключевое слово требуется, когда:
• любая функция в файле содержит вложенную функцию;
• функция – это локальная функция в файле функций, и любая ло-
кальная функция в файле использует ключевое слово end;
• функция является локальной функцией в файле сценария.

Применение Matlab для решения аналитических задач моделирования
30
Функция с одним выходом может быть определена в файле с име-
нем average.m, которая принимает входной вектор, вычисляет среднее
значение и возвращает единственный результат.
Приведенная ниже функция с именем min должна быть записана в
файл с именем min.m. Входными аргументами являются числа, на выходе программа возвращает минимальное из введенных чисел. Код приведен ниже:
>>function min = min(a1, a2)
min = a1;
if(a2 < min)
min = a2;
end
Программа начинается с ключевого слова function, далее указываются имя функции (в примере min) и ее аргументы (a1,a2) в порядке следования. Например, функция min содержит всего два аргумента на входе и
один аргумент (min) на выходе.
После оператора функции могут быть расположены строки комментариев. Они печатаются при вводе help min и содержат текст справки
после знака " % ".
При вызове help min в приведенном выше примере MATLAB выведет на экран введенную ранее информацию о работе функции.
Например, для функции поиска минимума, представленной ниже,
MATLAB выполнит приведенный оператор min и вернет в ans следующий
результат:
>> %This function return the minimum of the two numbers given as
input
min(10, 11)
ans = 10
Анонимные функции
Анонимная функция состоит из одного выражения MATLAB и
практически неограниченного количества входных и выходных аргументов и похожа на встроенную функцию в некоторых других языках программирования.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
