lab matlab small_3_
.pdfВариант 1: Рассчитать iR, Вариант 2: Рассчитать uR Вариант 3: Рассчитать uD
ВАРИАНТЫ 4–6:
Рассмотрим эквивалентную расчетную схему мостового преобразователя, приведенную на рис. 4(a). Параметры источника электрической энергии: ЭДС Е и внутреннее сопротивление Rе; ключевые элементы заменены идеальными ключами и сопротивлением Rs в открытом состоянии, в закрытом состоянии ключевые элементы представляют собой разрыв; в качестве нагрузки используется сопротивление
Rn; причем Rs, Re << Rn.
Рассмотрим несколько режимов работы этой схемы. На рис. 4(a) все ключевые элементы разомкнуты, следовательно в ток через нагрузку равен нулю, т.к. нет пути для протекания тока. На рис. 4(b) замкнуты ключи К1, К4, путь протекания тока показан пунктирной стрелкой и содержит элементы Е, Re, K1, Rs, R, K4, Rs, ток в такой цепи легко рассчитать; будем считать это прямым включением. На рис. 4(c) замкнуты ключи К2, К3, путь протекания тока показан пунктирной стрелкой и содержит элементы Е, Re, K2, Rs, R, K3, Rs, ток в такой цепи также легко рассчитать; будем считать это обратным включением.
Последний рассматриваемый режим (рис. 4(d)) назовем аварийным, т.к. в этом режиме источник ЭДС оказывается закорочен через относительно небольшие сопротивления (цепь Е, Re, K1, Rs и K3, Rs в параллель с R, K4, Rs). В аварийном режиме ток через источник ЭДС определяется выражением (6), а ток через нагрузку – выражением (7)
Ie = |
|
|
E |
|
|
(6) |
|
Re + Rs + |
Rs (Rs + Rn) |
|
|||||
|
|
|
|||||
Rs + (Rs + Rn) |
|
|
|||||
|
|
|
|
|
|||
IRe = Ie |
Rs |
|
|
(7) |
|
|
|
Rs + Rn |
|
|
|||||
|
|
|
|
|
Обозначим описанные режимы индексами соответственно рисунку: В. прямое подключение С. обратное подключение
D. аварийный режим
21
n |
n |
n |
n |
рис. 23 расчетная схема мостового преобразователя, работающего на активную нагрузку
Для расчета указанных в вариантах величин реализуем алгоритм, приведенный на рис. 24, используя оператор switch и наполнив алгоритм конкретным содержанием.
22
рис. 24 блок-схема расчета мостового преобразователя
23
Вариант 4: Рассчитать uR
Вариант 5: Рассчитать мощность, выделяемую на нагрузке
P = Rn I |
2 |
(8) |
R |
Rn |
|
Вариант 6: рассчитать напряжение на зажимах источника электрической энергии
UE = E −URe (9)
Программа работы:
Создание алгоритма.
Прочитайте задание (Задача 1), соответствующее указанному преподавателем варианту. Подготовьте блок-схему алгоритма, решающего эту задачу (для блок–схемы алгоритма со switch используйте краткие формы изображения ветвления).
Запуск.
!Запуск системы Matlab
!Пуск → Программы → Matlab Release 12 → Matlab R12
!Редактор вызывается или из меню File → Open/New.
!Команда View → Dock название М-файла в окне редактора. прикрепит окно редактора в рабочее окно Matlab.
Реализация алгоритма.
1.Перейдите в рабочий каталог C:\TEMP. Создайте М-файл сценария и сохраните его.
2.Прочитайте задание (Задача 2)
3.Определите, какие средства и операторы Matlab пригодны для реализации предложенного алгоритма
4.Введите программу. Обратите внимание на автоматическую расстановку отступов в тексте.
5.Поработайте с ручной расстановкой отступов, используя редактирование и клавишу табуляции.
6.Исправьте отступы, используя команды Increase Intend, Decrease Intend, Smart Intend меню Text редактора М-файлов Matlab.
24
7.Сформулируйте для отчета правило расстановки отступов в программах, реализующих алгоритмы с ветвлением.
8.Опробуйте на своей программе средства отладки Matlab, проверьте программу на наличие логических ошибок.
9.Сформулируйте для отчета, как можно использовать отладку при поиске логических ошибок в программе, реализующей алгоритм с ветвлением
10.Подготовьте черновик отчета.
11.Скопируйте М-файл в собственный каталог на сервере и удалите его из каталога C:\TEMP
Содержание отчета:
1.Цель работы
2.Основные операторы ветвления в Matlab
3.Основные средства и инструменты отладки алгоритмов с ветвлением
4.Текст задания и блок-схема спроектированного алгоритма с ветвлением (задача 1)
5.Текст задания, краткое описание алгоритма и программы, блоксхема (задача 2)
6.Текст программы
7.Пример работы программы
8.Выводы
Темы для защиты.
1Операторы ветвления Matlab
2 Создание и редактирование М-файла
3Алгоритм с ветвлением
4Способы и инструменты отладки алгоритмов с ветвлением
25
Лабораторная работа № 3. Циклы
Цель работы:
!изучить виды циклов и их реалищзацию в Matlab
!освоить способы отладки программ с циклами
!реализовать алгоритм с использованием циклов
Описание работы:
Взяв за основу алгоритм и программу из предыдущей работы, обогатим их новыми возможностями. Во-первых, создадим защиту от нечаянного ввода неверных данных (см. ниже, п.2 программы работы). Во-вторых, предоставим пользователю программы возможность повторить расчет, изменив часть параметров схемы (п.3). В-третьих, обеспечим расчет искомых величин при переборе ряда значений двух параметров схемы (см. ниже, п.4 программы работы) и, таким образом, получим таблицу результатов, а не один результат, как в предыдущей работе. Эту таблицу нужно вывести на экран (п.5). После выполнения этих изменений упрощенная блок-схема алгоритма будет соответствовать приведенной на рис. 29.
Для выполнения этой работы понадобится цикл с постусловием. Как известно, в Matlab нет соответствующего оператора, однако циклический алгоритм с постусловием можно реализовать другими средствами.
Реализация циклов с постусловием
Общий способ организации циклов с постусловием показан на рис. 26. Примеры реализации циклов с запросом на продолжение в конце цикла (алгоритмы на Рис. 27, Рис. 28)
Пример 1 (Рис. 27): tempvar = 1; while tempvar
% инструкции
tempvar = input('продолжить? ДА(1)/НЕТ(0)');
end
26
начало
1
Ввод по
2
Ввод по п.1
3 Бесконечный цикл
(п. 3)
делать
4
Ввод по п.3
завершить 5 Циклспараметром поп.4
делать
6
Инструкциииз предыдущейработы
7Запрос на продолжение (3)
|
8 |
Продол- |
нет |
||
|
|
||||
|
|
жить? |
|
||
|
да |
|
|
Break |
|
|
|||||
|
|
конец |
|
Заменяется на цикл запросом на правильность
Расчет (включая ветвление) и вывод результатов расчета
рис. 25 Блок-схема алгоритма
27
начало |
начало |
|
А=истина |
|
|
Бесконечный цикл |
||
|
|
|
выйти |
делать |
||
|
|
|
||||
|
|
|
|
|
||
Пока А=истина |
Расчеты |
|
||||
|
|
|
||||
|
делать |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Изменение или |
||
|
Расчеты |
|
||||
|
|
|
|
ввод условия |
||
|
|
|
|
|
||
|
|
|
||||
|
|
|
|
|
|
|
Изменение или ввод А Условие нет
истинно?
да выйти
a) |
конец |
б) |
конец |
рис. 26 Блок-схема алгоритма реализации цикла с постусловием
Пример 2 |
(Рис. 27): |
|
tempvar = ''; |
|
|
while isempty(tempvar) |
|
|
|
% инструкции |
|
|
tempvar = input(… |
TER)/НЕТ(ЛЮБАЯ ЦИФРА)'); |
end |
'продолжить? ДА(EN |
|
|
|
|
Пример 3 |
(Рис. 28): |
|
while 1 |
|
% инструкции
if ~input('продолжить? ДА(ENTER или ЦИФРА)/НЕТ(0)') break
end
end
28
Пример 4 (Рис. 28): while 1
% инструкции
tempvar = input('продолжить? ДА(ENTER)/НЕТ(0)'); if ~isempty(tempvar)&(tempvar==0)
break
end
end
|
начало |
|
|
начало |
|
|
|
|
|
|
|
|
|
Установить tempvar |
|
Бесконечный цикл |
||||
|
|
|
|
|||
Пока tempvar соот- |
выйти |
|
делать |
|||
|
|
|
||||
|
инструкции |
|
||||
ветствует условию |
|
|
|
|||
|
делать |
|
|
|
|
|
|
|
|
|
|||
|
инструкции |
|
|
Запрос на про- |
|
|
|
|
|
|
|
||
Запроснапродол- |
|
|
должение |
|
||
|
|
|
|
|||
жение,сизмене- |
|
|
|
нет |
||
нием tempvar |
|
|
Продол- |
|||
|
|
|
||||
|
|
|
|
|
жить? |
|
|
|
|
|
да |
Break |
|
|
конец |
|
|
конец |
|
Рис. 27 Блок-схема алгоритма цик- |
Рис. 28 Блок-схема алгоритма |
ла с постусловием с использованием |
цикла с постусловием с ис- |
временной переменной |
пользованием бесконечного |
|
цикла |
29
Программа работы:
Внести изменения в программу из предыдущей работы (блок-схема алгоритма приведена на рис. 29)
1.Все величины, кроме указанных ниже, вводятся, как в предыдущей работе (рис. 29, блок 1).
2.Организовать проверку ввода указанных для вариантов переменных (рис. 29, блок 2; в итоговой блок-схеме этот блок должен быть «раскрыт», т.е. приведен цикл, реально использованный для выполнения этого пункта):
ВАРИАНТЫ
1. |
R, α |
2. |
Uo, Io. |
3. |
Io, α |
4. |
Rs, Rn |
5. |
Е, Re |
6. |
Е, Rs |
Для этого использовать один из алгоритмов с постусловием: после ввода значения производится запрос пользователю о правильности введенного значения; в случае указания о неверном вводе, ввод повторяется; таким образом, оператор ввода заключается внутрь цикла с постусловием (см. рис. 26).
3. Организовать многократный ввод переменных согласно вариан-
ту
ВАРИАНТЫ
1 Ввести Emin, Emax для задания границ изменения E
2 Ввести Rmin, Rmax для задания границ изменения R
3 Ввести Uomin, Uomax для задания границ изменения Uo
4 Ввести Emin, Emax для задания границ изменения E
5 Ввести Rmin, Rmax для задания границ изменения Rn
6 Ввести Remin, Remax для задания границ изменения Re
Для этого необходим цикл с постусловием, причем постусловие расположено после окончания расчета, использующего введенные величины (см. рис. 29, блоки 3, 4, 7, 8; примеры приведены ранее, на стр.26, 28 и 29). Обратите внимание, что этот цикл похож на цикл, созданный ранее по п.2, только запрос в конце цикла касается не правильности введенной величины (как в п.2), а необходимости продолжения расчета с введением новых минимальных и максимальных значений. Введенные величины будут использованы для задания диапазона изменения величин, указанных в вариантах (см. далее, п.4).
30