Добавлен: 23.10.2018

Просмотров: 6240

Скачиваний: 74

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Раздел 1. Основы работы с математическим пакетом Matlab

Тема 1.1. Элементы рабочей среды Matlab

1.1.1.Элементы рабочей среды Matlab и простейшие вычисления

1.1.2. Основные объекты системы Matlab

1.1.3. Лабораторная работа по теме «Элементы рабочей среды Matlab и простейшие вычисления»

1.2.1. Векторы и матрицы

1.2.2. Построение графиков и визуализация вычислений в системе MatLab

1.2.3. Лабораторная работа по теме

«Векторы, матрицы и построение графиков

в системе Matlab»

1.2.4. Контрольные вопросы по теме

Тема 1.3. Средства Matlab для создания и описания m-файлов

m-файлов

Пример 1.3.5-1. Даны n чисел . Требуется вычислить их сумму: где

1.3.6. Лабораторная работа по теме

«Средства алгоритмизации и программирования

в Matlab»

1.3.7. Контрольные вопросы по теме

Раздел 2. Технология решения вычислительных задач средствами MatLab

Тема 2.1. Решение нелинейных уравнений

2.1.2. Лабораторная работа по теме

«Технология решения нелинейных уравнений средствами пакета MatLab»

1. Вопросы, подлежащие изучению

2. Общее задание

Таблица 2.1.2-1

2.1.3. Контрольные вопросы по теме

Тема 2.2. Технология аппроксимации интерполяции функций в среде пакета MatLab

Рис. 2.2.1-5. Вычисление функции в точке х=0.58

Рис. 2.2.2-7. Графики интерполирующих функций

Таблица 2.2.2-1

Тема 2.4. Технология решения обыкновенных дифференциальных уравнений

Рис. 2.4.1-2. Решение ОДУ методом Рунге-Кутты четвертого порядка

1. Вопросы, подлежащие изучению

2. Общее задание

Тема 2.5. Технология решения задач одномерной оптимизации

2.5.2. Лабораторная работа по теме

«Технология решения задач одномерной оптимизации»

1. Вопросы, подлежащие изучению

2. Общее задание

3. Варианты индивидуальных заданий

2.5.3. Контрольные вопросы по теме

Тема 2.6. Технология решения задач многомерной оптимизации

1. Вопросы, подлежащие изучению

2. Общее задание

4. Содержание отчета

1.2.3. Лабораторная работа по теме

«Векторы, матрицы и построение графиков

в системе Matlab»



    1. Вопросы, подлежащие изучению


  1. Работа с векторами и матрицами.

  2. Построение графиков функций одной переменной.

  3. Средства инструментальной панели графических окон.

  4. Построение трехмерных изображений с использованием функций Matlab mesh( ), plot3( ), surf( ), surfс( ) и controur( ).



    1. Общее задание


  1. Изучите материал Темы 1.2 (п.п. 1.2.1 – 1.2.2).

  2. Выберите вариант индивидуального задания из табл. 1.3.3-1.

  3. Выполните команду clear all для очистки Рабочей области.

  4. Опишите функцию f1(x) и получите ее символьное выражение.

  5. Задайте диапазон изменения аргумента функции f1(x) и вычислите ее значения.

  6. Задайте диапазон изменения аргумента функции f1(x) для построения графика.

  7. Выполните команду plot( )для получения графика f1(x).

  8. Опишите функцию f2(x).

  9. Разместите графики функций f1(x) и f2(x) в одном окне, для чего после построения графика первой функции выполните команду hold on.

  10. Дополните графики необходимыми пояснениями: заголовок, имена осей, координатная сетка и легенда.

  11. Задайте диапазоны изменения значений x и y для функций f3(x,y) и получите таблицы их значений.

  12. Опишите функцию f3(x, y).

  13. Получите таблицу значений функции f3(x,y).

  14. Получите график функции f3(x, y) с использованием команд mesh( ), plot3( ), surf( ), surfс( ) и controur( ).

  15. Сохраните текст рабочего окна на внешнем носителе.

  16. Представьте результаты работы преподавателю, ответьте на поставленные вопросы.

  17. Выполните команду clear all для очистки Рабочей среды.

  18. Оформите отчет по выполненной работе.




    1. Варианты индивидуальных заданий


Таблица 1.3.3-1


1


2


3


4

5

6


7

8

9

10

11

12

13


14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30




  1. Содержание отчета


  1. В форме комментариев:

  • Название лабораторной работы

  • ФИО студента, номер группы

  • варианта

  • Индивидуальное задание

  1. Протокол вычислений (сессии) в окне Command Window, снабженный соответствующими комментариями.






1.2.4. Контрольные вопросы по теме


  1. Как создать вектор-строку?

  2. Как создать вектор-столбец?

  3. Как транспонировать векторы?

  4. Какая функция служит для определения длины вектора?

  5. Каким образом создать вектор с постоянным шагом?

  6. Требуется ли при работе с векторами и матрицами предварительное объявление их размера?

  7. Какой символ используется для разделения элементов матрицы в строке, а какой для разделения ее строк?

  8. Какие команды предназначены для заполнения матрицы случайными числами, распределенными по равномерному или нормальному закону распределения?

  9. Формат команд выбора минимального и максимального значения элемента матрицы.

  10. Назначение команды plot().

  11. Каким образом построить в одном графическом окне несколько графиков?

  12. Какой пояснительной информацией может быть снабжен график, построенный в графическом окне?

  13. Для чего используется функция legend()?

  14. Каково назначение функции meshgrid() при построении трехмерных изображений?

  15. Какие типы графиков позволяют строить встроенные функции: contour(), surf(), survc() и plot3()?





Тема 1.3. Средства Matlab для создания и описания m-файлов


1.3.1. Основные понятия и средства программирования в MatLab

1.3.2. Описание и работа с m-сценариями

1.3.3. Описание и работа с m-функциями

1.3.4. Основные операторы m-языка и программирование в MatLab

1.3.5. Примеры решения задач средствами MatLab

1.3.6. Лабораторная работа по теме

1.3.7. Контрольные вопросы по теме



      1. Основные понятия и средства
        программирования в MatLab


Использование системы Matlab только в режиме непосредственного расчета (в командном режиме) явно недостаточно для решения серьезных задач, поскольку, во-первых, зачастую требует выполнения сложных алгоритмических процессов, а, во-вторых, необходим механизм хранения в библиотеках команд и операторов системы Matlab. То есть необходимы средства, какие есть в языках программирования высокого уровня.

Такие средства в Matlab существуют. Они состоят из так называемых m-файлов и средств их создания и отладки – Редактора программного кода. М-файлы представляют собой текстовые файлы, которые могут храниться в файлах («библиотеках») Matlab с расширением m.

Если вспомнить технологию процедурного программирования [x], то m-файлы фактически являются процедурами системы Matlab. Эти m-файлы могут состоять из следующих элементов (средств языка программирования Matlab):


  • описания данных различного типа;

  • описания констант и переменных, в том числе системных;

  • операции;

  • системные команды и функции;

  • функции пользователя;

  • оператор присваивания и управляющие операторы;

  • системные операторы и функции;

  • средства работы с файлами данных;

  • средства расширения языка.


Обратите внимание, что каждому типу данных можно соотнести некоторые характерные для него операции, называемые методами (система Matlab является объектно-ориентированной системой). А поскольку в иерархии типов данных сверху находятся данные типа Array, это значит, что все виды данных в MatLab являются массивами.

Программирование инженерных задач в среде MatLab очень напоминает программирование на универсальных языках программирования. Однако поскольку в Matlab можно использовать не только выражения над структурированными данным (например, массивами) но и системные команды и функции, то система программирования Matlab является мощной программной системой.

При создании новых m-файлов Редактор можно открыть путем активизации инструментов New Script или New (рис. 1.1.1-1), а для редактирования существующих инструментом Open или двойным щелчком мышки по имени m-файла. При этом в рРабочей среде добавляются еще три вкладки инструментальной панели: EDITOR, PUBLISH и VIEW (рис. 1.3.1-1).

 


Рис. 1.3.1-1. Рабочая среда при открытиях m-файла


При активной вкладке EDITOR инструменты инструментальной панели позволяют открывать, сохранять, редактировать, запускать и осуществлять отладку m-файлов.


Эти инструменты разбиты на следующие категории:

  • FILE – категория, включающая инструменты, которые позволяют создавать новые наборы команд и программы, и сохранять их в файлах; открывать существующие наборы команд и программ и загружать их из файлов; создавать различные объекты Matlab, осуществлять поиск файлов различных типов т.д.

  • EDITкатегория, включающая инструменты, которые позволяют работать с текстом m-файла в окне редактора: вставлять в текст m-файлов различные элементы; превратить в комментарий текущую строку или вернуть ее к исходному виду; уменьшить или увеличить отступы текущей строки или нескольких выделенных строк на заданное число позиций влево или вправо; выполнить интеллектуальный отступ.

  • NAVIGATEкатегория, включающая инструменты, которые позволяют осуществить навигацию в текущем m-файле: перейти к следующей или предыдущей строке; быстро перейти к строке с заданным номером и др. инструменты.

  • BREAKPOINTSкатегория, включающая инструменты, которые позволяют управлять точками останова во время отладки m-файла.

  • RUN категория, включающая инструменты, которые позволяют записать m-файл в текущий каталог и запустить его на выполнение, а также выполнять m-файл по секциями и управлять ими.


В Matlab существуют два типа m-файлов: m-сценарии и m-функции.

М-сценарий представляет собой последовательность команд и функции Matlab (без входных и выходных параметров), которые оперируют данными из Рабочей области, причем результаты выполнения m-сценария доступны Рабочей области и могут быть использованы для дальнейших вычислений. В среде Matlab m-сценарий принято также называть script-файлом или просто script, поэтому в дальнейшем мы будет использовать этот термин.

M-функции это функции Matlab, аналогичные функциям языков программирования высокого уровня, таких как C++,C# и VB, которые могут иметь как входные, так и выходные параметры, также локальные переменные.


      1. Описание и работа со script-файлами


Script является простейшей реализацией m-файлов. Он может содержать последовательность команд, операторов, функций и комментарии. При создании нового script возникает следующее окно редактора (рис. 1.3.2-1).



Рис. 1.3.2-1. Структура script-файла


Script-файлы имеют свои особенности: 

  • не имеют входных и выходных параметров; 

  • работают с данными из рабочей области; 

  • в процессе выполнения не компилируются;

  • строки автоматически нумеруются;

  • представляют собой зафиксированную в виде файла последовательность команд, операторов и функций, полностью аналогичную той, что используется во время сессии в Command Window.


Откроем окно Editor для создания script и введем в нем команды, например, для построения графика (рис. 1.3.2-2).



Рис. 1.3.2-2. Script-файл, содержащий команды для построения графика


Для сохранения созданного script следует щелкнуть по кнопке инструмента Save и в открывшемся меню выбрать команду SaveAs, в соответствующей строке окна ввести имя m-файла и щелкнуть по кнопке Сохранить. Имя файла появится в окне Current Folder с расширением .m.


Запуск script (рис. 1.3.2-3), сохраненного, например, с именем пример9.m, можно произвести из командной строки окна Command Window, введя его имя (без расширения), и нажать <Enter> (то есть выполнить, как команду MatLab). Зададим предварительно в командном окне переменным x и z числовые значения, а следом имя выполняемого файла пример9. Запуск файла позволил в следующей строке командного окна получить результат выполнения (рис. 1.3.2-4).



Рис. 1.3.2-3. Script-файл primer9.m



Рис. 1.3.2-4. Выполнение script-файла с именем primer9




Выполнение script или его части можно осуществить на этапе отладки (предварительно выполнив его сохранение). Для этого следует выделить нужные операторы и нажать инструмент Run. Выделенные операторы выполняются последовательно, точно так же, как если бы они были набраны в командной строке.


Рассмотрим еще один пример работы со script (primer1), который предназначен для построения графика (рис. 1.3.2-5).



Рис. 1.3.2-5. Script-файл с именем primer1


Чтобы запустить этот файл на выполнение, следует предварительно задать последовательность значений переменной x, которая используется в теле файла (помня, что script работает с данными из рабочей области), и набрать в командной строке имя (рис. 1.3.2-6).



Рис. 1.3.2-6. Выполнение script-файла с именем primer1


Этот пример еще раз подтверждает, что все переменные, используемые в script, являются глобальными, т.е. они действуют одинаково в командах сессии и внутри программного блока, которым является script.

Результат выполнения команд script с именем primer1 приведен на рис. 1.3.2-7.






Рис. 1.3.2-7. Результат работы script-файла primer1



      1. Описание и работа с m-функциями


M-функции, так же как и script, содержат команды, операторы и функции, но являются более сложным типом m-файлов по сравнению со script и имеют свои особенности:

  • начинаются с заголовка описания m-функции;

  • могут иметь входные и выходные параметры;

  • все переменные, описанные в теле m-функции, являются локальными, т.е. действуют только в пределах тела функции;

  • являются самостоятельными программными единицам, которые общаются с другими модулями посредством имени с входными и выходными параметрами.


В отличие от script m-функция является типичным объектом языка программирования высокого уровня.

При создании новой m-функции открывается окно редактора
со следующим шаблоном (рис. 1.3.3-1).


Рис. 1.3.3-1. Структура новой m-функции


Общая структура m-функции с n входными и m выходными параметрами имеет вид:


function[var1, …, varm,…] = f_name (список входных параметров)

% Основной комментарий

% Дополнительный комментарий

Тело m-функции

var1 = выражение

varm = выражение

end


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