Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Численные расчеты в среде MatLab

Покупка
Основная коллекция
Артикул: 778177.01.99
В учебном пособии представлены основные приемы создания М-файлов и графического интерфейса в среде MatLab. Предназначено для студентов, обучающихся по направлениям 09.03.01 - «Информатика и вычислительная техника», 09.03.04 - «Программная инженерия».
Трошина, Г. В. Численные расчеты в среде MatLab : учебное пособие / Г. В. Трошина. - Новосибирск : Изд-во НГТУ, 2020. - 72 с. - ISBN 978-5-7782-4092-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1866929 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 
__________________________________________________________________________ 
 
 
 
 
 
 
Г.В. ТРОШИНА 
 
 
 
 
ЧИСЛЕННЫЕ РАСЧЕТЫ  
В СРЕДЕ MATLAB 
 
 
Утверждено Редакционно-издательским советом университета 
в качестве учебного пособия 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
НОВОСИБИРСК 
2020 

УДК 004.42(075.8) 
Т 766 
 
 
 
Рецензенты: 
канд. техн. наук, доцент С.П. Ильиных  
канд. физ.-мат. наук, доцент Ю.А. Котов  
 
 
 
 
Работа подготовлена на кафедре вычислительной техники 
 
 
 
Трошина Г.В. 
Т 766  
Численные расчеты в среде MatLab: учебное пособие / 
Г.В. Трошина. – Новосибирск: Изд-во НГТУ, 2020. – 72 с.  

ISBN 978-5-7782-4092-6 

В учебном пособии представлены основные приемы создания  
М-файлов и графического интерфейса в среде MatLab. Предназначено 
для студентов, обучающихся по направлениям 09.03.01 – «Информатика и вычислительная техника», 09.03.04 – «Программная инженерия».  
 
 
 
 
 
 
 
 
 
УДК 004.42(075.8) 
 
ISBN 978-5-7782-4092-6 
© Трошина Г.В., 2020 
 
© Новосибирский государственный 
 
технический университет, 2020 

 
 
 
 
 
 
 
Введение 
 
Цель написания данного учебного пособия – дать теоретическую 
базу, необходимую для выполнения лабораторных, контрольных и 
расчетно-графических работ по курсам «Средства инженерных и научных расчетов», «Вычислительная математика».  
Каждый из разделов учебного пособия включает в себя примеры, 
графики, контрольные вопросы и тесты, необходимые для лучшего 
понимания излагаемого материала и получения практических навыков 
использования среды MatLab.  
Большое внимание уделено рассмотрению установившегося режима в задаче оценивания параметров динамических объектов. Приведена методика формирования информационной матрицы Фишера, рассмотрены вопросы моделирования итерационной процедуры оценивания динамических параметров в задаче активной идентификации.  
 
 

1. Создание М-файлов и операции с функциями 

1.1. Создание М-файлов 

При использовании командного окна среды MatLab в диалоговом 
режиме пользователь формирует одну или несколько команд в текущей строке. Несмотря на широкие возможности, которые предоставляет пользователю среда MatLab, такая последовательность действий 
подходит только для разовых расчетов. При изменениях в исходных 
данных или при выполнении большого количества однотипных действий этот режим не всегда является удобным.   
Необходимую цепочку команд можно включить в текстовый файл. 
В результате неоднократное обращение к одним и тем же данным позволит сделать вычислительный процесс более удобным. Подобного 
рода программы принято называть сценариями. Сценарий является 
самым простым типом М-файлов – у него нет входных и выходных 
аргументов. Он используется для автоматизации многократно выполняемых вычислений.  
Сценарий может быть подготовлен в любом текстовом редакторе и 
записан с расширением .m. Такие файлы используют единое рабочее 
пространство – Workspace. Переменные изменяются и сохраняются в 
течение всего сеанса работы. Это позволяет выполнить последовательно несколько файлов-сценариев в текущем сеансе работы с системой. 
Значения переменных передаются через Workspace, а промежуточные 
данные сохраняются в файлах.   
Среда MatLab располагает собственным редактором М-файлов, который вызывается после активизации команды File/New/M-File. Приступить к редактированию существующего М-файла можно после выбора команды  File/Open. При формировании последовательности команд в окне тестового редактора осуществляется автоматическая нумерация строк.  
При оформлении текста программ на языке MatLab есть свои особенности. Каждый оператор должен быть описан в отдельной строке. 

Нажатие клавиши <Enter> означает окончание оператора. Длинный 
оператор записывается в несколько строк, но в этом случае в конце 
предыдущей строки ставятся три точки. Символ  < % > означает начало 
комментария в тексте программы. Все строчные и прописные буквы при 
определении имен переменных различаются. Длинный файл-сценарий 
можно разделить на отдельные программы, каждый из которых также 
можно представить в виде самостоятельного файла-сценария. Файлсценарий позволяет управлять всем вычислительным процессом.       
Пример.  Рассчитать значение выражения:  

 
 
(sin(3 * pi) + cos(0) + log(1))/exp(1) 

Решение:  >> (sin(3*pi) + cos(0) + log(1))/exp(1) 

 
 
ans = 

     
 
 0.3679 

Пример. Написать М-файл с именем primer.m, который будет считать факториал: 
a = 1 

for i = 1:5 

     a = a * i 

end 

Этот файл является файлом-сценарием. Ввод команды primer.m в 
командной строке системы MatLab вызывает выполнение операторов 
этого сценария. Точка с запятой в конце оператора подавляет вывод 
результата на экран. 

1.2. Создание файлов-функций 

Файлы-функции являются разновидностью М-файлов. Эти файлы 
имеют расширение .m, а в качестве заголовка используют оператор 
function. В общем виде первая строка файла-функции может быть записана следующим образом: 

function <выходные параметры>=<имя функции>(входные параметры) 

Файлы-функции и файлы-сценарии нельзя отличить по расширению имени файла .m. Процедуры, предназначенные для многократного 
использования файлами-сценариями, оформляются в виде файловфункций. Переменные, используемые в рамках файлов-функций, являются локальными переменными. Область, используемая локальными 
переменными, после выполнения файла-функции освобождается для 
других переменных. Переменные единого рабочего пространства с помощью оператора global могут быть объявлены в качестве глобальных 
переменных. В этом случае функция может обратиться к указанным 
переменным. 
Необходимо, чтобы имя М-файла, в котором записывается программа вычислительного процесса, совпадало с именем функции. Имя 
функции не должно превышать 31 символ. Имя может быть и длиннее, 
но система MatLab принимает во внимание только первые 31 символ. 
Имя файла-функции должно начинаться с буквы, остальные символы 
могут быть любой комбинацией букв, цифр и подчеркиваний. 
Пример. Написать функцию для вычисления факториала. Файл 
должен быть сохранен с именем factorial.m: 

function y = factorial(n) 

k = 1; 

for i = 1:n 

     k = k * i; 

end 

y = k; 

Для вычисления 5! достаточно набрать в текущей строке команду 

>> k = factorial(5) 

k = 

      120 

Структура файла-функции. Файл-функция состоит из строки 
определения функции, первой строки комментария, собственно комментария, тела функции, строчных комментариев. 

Строка определения функции сообщает системе MatLab, что  процедура является файлом-функцией, а также определяет список входных аргументов. 
Пример: 

function y = average(x) 

где function – ключевое слово, определяющее файл-функцию, y – выходной аргумент, average – имя функции, x – входной аргумент. 
Если функция имеет более одного выходного аргумента, то список 
выходных аргументов помещается в квадратные скобки. Входные аргументы, если они присутствуют, помещаются в круглые скобки. Для 
отделения аргументов во входном и выходном списках применяются 
запятые. 
Пример: 

function[x, y, z] = myfunc(a, b, c) 

Первая строка комментария. Для функции average первая строка 
комментария выглядит так: 

% AVERAGE Среднее значение элементов вектора 

Это первая строка текста, которая появляется, когда пользователь 
набирает команду help <имя_функции>.  
Комментарий. Для М-файлов можно создать online-подсказку, 
вводя текст в одной или более строках. При вводе команды подсказки 
help <имя_функции> система MatLab отображает строки комментария, которые размещаются между строкой определения функции и 
первой пустой строкой либо началом программы. Команда help 
<имя_функции> игнорирует комментарии, размещенные вне этой области. 
Тело функции. Тело функции содержит код языка MatLab, который 
выполняет вычисления и присваивает значения выходным аргументам. 
Операторы в теле функции могут состоять из вызовов функций, программных конструкций для управления потоком команд, интерактивного ввода/вывода, вычислений, присваиваний, комментариев и пустых строк. 
Вызов функции. При вызове m-функции система MatLab транслирует функцию в псевдокод и загружает в память. Псевдокод остается в 
памяти до тех пор, пока не будет использована команда clear или завершен сеанс работы. 

Существует несколько разновидностей m-функций. Функции, имена которых совпадают с именами М-файлов, называются головными 
функциями.  
Подфункции представляют собой такой вид функций, описания которых находятся в М-файле после головной функции. Особенность 
использования подфункций М-файла заключается в том, что они не 
могут быть вызваны извне. Эти функции предусматривают внутреннее 
использование. Вызов подфункций осуществляет головная функция  
М-файла. К вложенной функции всегда может обращаться окружающая ее функция.  
Для организации ветвлений внутри выполнения вычислительной 
процедуры применятся условные операторы. 
Ниже приведены конструкции условных операторов: 
1-й вариант:  if <условие> 

 
<операторы> 

 
end 

Операторы (тело выражения) выполняются только в том случае, 
если условие истинно, если условие ложно, то тело выражения не выполняется. 
2-й вариант:  if <условие> 

 
<операторы 1> 

 
else 

 
<операторы 2> 

 
end 

3-й вариант:  if <условие1> 

 
<операторы 1> 

 
elseif <условие2> 

 
<операторы2> 

 
elseif <условие3> 

 
<операторы3> 

 
. . .