Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab matlab small_3_

.pdf
Скачиваний:
27
Добавлен:
27.03.2015
Размер:
1.86 Mб
Скачать

Редактор М-файлов системы Matlab.

Редактор вызывается или из меню File → Open/New (с отладчи-

ком), или Пуск → Программы →Matlab Release 12 → M-file Editor (без отладчика)

Команда View → Dock название М-файла. в окне редактора. прикрепит окно редактора в рабочее окно Matlab.

рис. 11 окно редактора М-файлов

рис. 12 меню Edit

11

рис. 13 меню Text

рис. 14 меню Debug

рис. 15 меню Breakpoints

12

рис. 16 меню Help

рис. 17 панель инструментов редактора М-файлов Matlab

Если открыто несколько М-файлов, переключаться между ними можно в меню Window или по вкладкам, которые появятся внизу окна редактора

Точки останова Breakpoints позволяют приостановить выполнение программы, просмотреть и изменить содержимое переменных

13

Программирование и отладка М-файлов.

1.Отладка проводится с использованием меню (рис. 14, рис. 15) и панели инструментов (рис. 17) редактора М-файлов.

2.Перейдите в рабочий каталог C:\TEMP (см. рис. 2) .

3.Создайте М-файл сценария и сохраните под именем probe.m .

4.Введите показанную на рис. 11 программу. Обратите внимание на цветовую раскраску текста.

5.Освойте команды меню Edit (рис. 12), View, Text (рис. 13).

6.Запустите программу по имени из окна команд.

7.Запустите программу из окна редактора М-файлов по команде continue.

8.Установите точки останова.

9.Пройдите программу пошагово, просматривая содержимое переменных рабочей области.

10.Пройдите программу с использованием точек останова.

11.Создайте блок-схему алгоритма программы.

12.Спроектируйте собственную блок-схему линейного алгоритма для решения Задачи (см. ниже, п.7) по варианту, указанному преподавателем.

13.Реализуйте новый алгоритм в виде программы.

14.Повторите процесс отладки.

15.Имитируйте синтаксическую ошибку в программе, зафиксируйте результат.

Имитируйте логическую ошибку в программе (например, замена знака операции), зафиксируйте результат, подумайте, как искать в тексте такую ошибку.

рис. 18 зоны отладки

14

16.Проведите профилирование сценария probe.m. Профилирование - это процедура измерения затрат времени на выполнение строк программы, вычисляется при обращении к указанному файлу с кратностью 0.01с. Например:

profile имя м-файла работа с м-файлом profile report

Для приостановки / продолжения профилирования используйте profile on и profile off.

17.Компилируйте программу в псевдокод: pcode probe

иповторите профилирование. Сравните результаты.

18.Удалите файл сценария probe.m

19.Подготовьте черновик отчета.

Задача.

1.ВАРИАНТЫ 1–3: Реализуйте алгоритм для расчета значения:

2.силы тока I по значению параметров E, R1, U2 цепи на рис.19(a)

3.сопротивления R1 по значению параметров E, R2, I цепи на рис. 19 (b)

4.электрической мощности, рассеиваемой на сопротивлении R1 по значению параметров E, R1, R2 цепи на рис. 19 (b)

5.ВАРИАНТЫ 4–6: Реализуйте алгоритм для расчета среднего значения тока через сопротивление R, по значению параметров цепи:

6.E1, E2, T, Tp, R, на рис. 19 (c)

7.E1, E2, T, Tp, R, на рис. 19 (d)

8.E2, T, Tp, R, на рис. 19 (e)

Содержание отчета:

1.Цель работы

2.Основные возможности системы Matlab (см. п.п.2-5)

3.Основные средства и инструменты отладки программ (см. п.6)

4.Блок-схема линейного алгоритма

5.Краткое описание алгоритма и программы

6.Текст программы

7.Пример работы программы

8.Выводы

15

рис. 19 Иллюстрации к задачам

Темы для защиты

1.Окна системы Matlab

2.Возможности справки Matlab

3.Понятие рабочей области

4.Создание и редактирование М-файла

5.Способы и инструменты отладки программ системы Matlab

6.Типы данных (в т.ч. системы Matlab)

7.Простой ввод/вывод в Matlab

8.Линейный алгоритм

16

Лабораторная работа №2 «Алгоритмы с ветвлением»

Цель работы:

!изучить способы ветвления алгоритма в Matlab

!освоить способы отладки алгоритмов с ветвлением

!реализовать алгоритм с ветвлением

Описание работы:

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

Написание программы нужно начинать с создания алгоритма. Для освоения этого процесса для алгоритма с ветвлением используем решение одной из Задач 1.

Записанный в виде текста или блок–схемы алгоритм воплощается далее в программный код. Для освоения этого процесса реализуем решение одного из вариантов Задачи 2.

Для интерактивного обнаружения т.н. логических ошибок, которые не могут быть идентифицированы системой программирования самостоятельно, без участи программиста, используются отладочные средства системы программирования. В ходе этой и последующих работ большое внимание уделим освоению этих средств, в этой работе – освоим отладку алгоритмов с ветвлением.

Задача 1. Создание алгоритма.

1. Пусть права пользователя электронной системы безопасности определяются кодом "А", "В", "С", "D", "E" по убывающей. В системе для каждого уровня установлен пароль. Используя конструкцию switch, создать алгоритм, запрашивающий у пользователя код доступа и пароль, и определяющий правомерность доступа к системе безопасности.

2. Пусть имеются сетевые коммутаторы на 2, 4, 8, 16 или 24 коммутируемые линии по цене 20, 35, 60, 100 и 130 у.е. соответственно. Определить требуемый тип коммутатора (число линий) и вывести тип и стоимость коммутатора, исходя из числа

17

и стоимость коммутатора, исходя из числа компьютеров пользователя (использовать конструкцию switch).

3. Пусть имеется набор резисторов сопротивлением 1, 5, 10, 12 и 24 кОм, в упаковках, обозначенных 1, 2, 3, 4, 5 соответственно (т.е. резисторы на 1 кОм находятся в упаковке, обозначенной 1, резисторы на 5 кОм находятся в упаковке, обозначенной, 2 и так далее). Разрешается использовать резисторы только из одной упаковки. Создайте алгоритм расчета, который (в зависимости от вводимой пользователем величины желаемого сопротивления, и обозначения упаковки) определяет минимальное число последовательно соединяемых резисторов, дающих сопротивление большее, чем указано пользователем, и выводит номинал исходных резисторов и полученное сопротивление (использовать конструкцию с переключением, switch).

4.Пользователем задается необходимая электрическая мощность. Создайте алгоритм расчета (с конструкцией if), который выбирает тип силового преобразователя (из имеющихся) для работы с заданной мощностью. Имеются следующие типы преобразователей с разным диапазоном мощности: 1) «П1» от 1 кВт до 10 кВт; 2) «П2» от 10 кВт до 50 кВт; 3) «П3» от 50 кВт до 200 кВт.

5.Пусть штраф за перерасход предприятием электрической энергии составляет 1 у.е. за каждый киловатт свыше установленной величины и 2 у.е. за каждый киловатт свыше 120% от установленной вели-

чины. Создайте алгоритм (с конструкцией if), рассчитывающий величину штрафа.

6. Упрощенная модель стабилитрона характеризуется двумя состояниями: открытым (под положительным напряжением и под напряжением, меньшим отрицательного порогового), и закрытым (в остальных случаях). Создать алгоритм (с конструкцией if), определяющий и выводящий на экран состояние стабилитрона в зависимости от его параметров и величины прикладываемого напряжения.

Задача 2. Реализация алгоритма средствами Matlab.

ВАРИАНТЫ 1–3:

Рассмотрим цепь, приведенную на рис. 20, и состоящую из источника ЭДС, диода и резистора. Как известно, диод характеризуется не-

18

линейной вольт-амперной характеристикой (ВАХ), качественный вид которой приведен на рис. 21.

Для рассматриваемой цепи можно записать соотношение

E = uD (iD ) + uR

(1)

где uD – падения напряжения на диоде, а uR - на резисторе.

Т.к. диод - нелинейный элемент, то выражение (1) необходимо решать приближенно каким-либо численным методом. Однако, с определенной степенью точности можно заменить ВАХ диода ломаной линией (линеаризованная ВАХ на рис. 21), состоящей из левой части, проходящей через нулевую точку до точки излома с координатами Uo, Io, и правой части, выходящей из точки Uo, Io под углом α.

 

 

 

 

 

 

I(A)

 

 

 

 

 

D

 

 

реальная

линеари–

 

 

 

uD

 

 

 

 

 

 

R

 

 

зованная

 

 

 

 

uR

 

 

 

 

 

 

 

i

 

 

 

α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Io

 

 

 

 

 

 

 

 

0

Uo

U(v)

 

 

 

 

 

 

 

рис. 20 рассчитываемая цепь

рис. 21 Вольт-амперная характери-

 

 

 

 

 

 

 

стика (ВАХ) диода

Выражение (2) описывают левую, а (3) – и правую часть:

i

D

= u

D

Io

(2)

 

 

 

 

 

Uo

 

 

 

 

iD = Io + (uD Uo) tg(α )

(3)

 

 

Выразив из этих выражений uD и подставив его в выражение (1) с учетом uR = iR R , можно получить линейные уравнения и выразить из них iD

iD =

Io E

 

(4)

Uo + Io

R

 

 

19

iD =

Io + (E Uo) tg(α )

(5)

R tg(α ) +1

 

 

Если полученное значение iD меньше Io, то решение лежит на ле-

вой ветви ВАХ диода, иначе – на правой. Таким образом, рассчитав значение тока диода, можем получить все величины, характеризующие режим работы цепи

Блок-схема алгоритма приведена на рис. 22:

Начало

Ввод U o, Io, α

Ввод Е , R

Расчет iD

по левой ветви?

Да

Вы вод типа ветви

Расчет по левой ветви

Вы вод результатов расчета

Конец

Н ет

Вы вод типа ветви

Расчет по правой ветви

рис. 22 блок-схема расчета

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]