Учебная работа. Проектирование электрических схем в Simulink

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Проектирование электрических схем в Simulink

Федеральное государственное автономное образовательное учреждение

высшего проф образования

«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ИФРЭ

КУРСОВАЯ РАБОТА

Проектирования электронных схем в Simulink

Студент. Э.И. Мельник

Управляющий М.М. Валиханов

Красноярск 2012

Введение

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

Simulink является довольно самостоятельным инвентарем MATLAB и при работе с ним совершенно не требуется знать сам MATLAB и другие его приложения. С иной стороны доступ к функциям MATLAB и остальным его инструментам остается открытым и их можно применять в Simulink. часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (к примеру, LTI-Viewer приложения Control System Toolbox — пакета для разработки систем управления). Имеются также доп библиотеки блоков для различных областей внедрения (к примеру, Power System Blockset — моделирование электротехнических устройств, Digital Signal Processing Blockset — набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink юзер имеет возможность модернизировать библиотечные блоки, создавать свои собственные, также составлять новейшие библиотеки блоков.

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

1. Линейные цепи неизменного тока

Задание.

Для электронной цепи рис.1, соответственной номеру варианта [2], выполнить последующее:

1) Найти токи во всех ветвях схемы способом узловых потенциалов. 2)Начертить потенциальную диаграмму для хоть какого замкнутого контура, включающего обе ЭДС.

Набросок 1 — Начальная электронная схема

Линейная схема на неизменном токе. Схема состоит из четырёх активных частей и 5 пассивных.

Для комфортного ввода и вывода можно применять интерфейс [1,5]. Юзеру предлагается вести в ячейки

E1-значение безупречного источника напряжения E1 вольт,

E2-

I1-тока J1 ампер,

I2-значение безупречного источника тока J5 ампер,

R1-

R2- значение сопротивление на резисторе R2 ом,

R3-

R4-

R5-

Опосля этого надавить на клавишу «Решить».

интерфейс представлен на рис.2, текст программки смотрите приложение А.

Набросок 2 -Окно интерфейса

Схема в окне редактора [5] представлена на рис.43.

Набросок 3- Схема в окне редактора

Опосля пуска симуляции. Измерения выполняются при помощи специального блока Multimeter. Итог записывается в массив переменой simout это происходит в блоке ToWorkspace. В отдельном окне выводится таблица со значениями. В окне интерфейса строится график Потенциалов цепи.

Таблица 1 — Контрольные значения

16

35

1

1.5

16

25

60

45

1

Итог токов на рис.4, график Потенциалов цепи на рис.5. Для проверки токов можно пользоваться первым законом Кирхгофа формула (1).

(1)

Набросок 4- Итог токов в амперах.

Набросок 5- Возможная диаграмма

Для проверки графика Потенциалов [4] цепи довольно, чтоб график начинался значением ноль вольт, строится заземленный узел, и заканчивался значением ноль вольт, обозначает обход по контуру и ворачивается в заземленный узел.

Вывод. Используя Simulink раздел SimPowersystem можно рассчитывать электронные линейные схемы на неизменном токе. Можно вычислить ток в каждой из ветки, измерить напряжения в узлах. Используя связь графического интерфейса и Simulink, даёт возможность стремительно изменять характеристики схемы, не меняя характеристики в рабочем окне. В отдельном окне можно выстроить графики, которые дают приятное электронные цепи переменного тока

Задание

Для электронной цепи рис.6, соответственной номеру варианта [2], выполнить последующее:

1) Найти комплексы работающих значений токов во всех ветвях, используя один из способов расчета линейных электронных цепей.

2) Выстроить топографическую диаграмму, совмещенную с векторной диаграммой токов.

Набросок 6 — Начальная электронная схема

Линейная схема на переменном токе. Схема состоит из 2-ух активных частей и 4 пассивных.

Для комфортного ввода и вывода можно применять интерфейс [5]. Юзеру предлагается вести в ячейки

E1-значение безупречного источника напряжения E1 вольт,

E2-

W-

P1-

P2-значение исходной фазы источника Е2 градус,

L1-

L2-

С1-

R1- значение сопротивление на резисторе R3 ом.

Опосля этого надавить клавишу «Решить».

интерфейс представлен на рис.7, текст программки смотрите приложение Б.

Набросок 7- Окно интерфейса

Схема в окне редактора [5] представлена на рис.8

Набросок 8 — Схема в окне редактора

Опосля пуска симуляции. В отдельном окне выводится таблица со значениями. В окне интерфейса строится векторная диаграмма токов и напряжений.

Таблица 2 — Контрольные значения

70.5

84.6

12.7e-3

47.8e-3

31.9e-6

25

100

20

-10

Итог токов на рис.9, векторная диаграмма токов рис.10.

Для проверки токов можно пользоваться первым и вторым законом Кирхгофа формула (2) [3].

(2)

Подставим значения.

Набросок 9 -Значение токов в амперах

Набросок 10-Диаграмма токов и напряжений

Для проверки векторной диаграммы [5] токов довольно, чтоб график начинался в узле a равный ноль вольт, строится заземленный узел, в узле b обход по трем веткам должен отдать однообразное значение потенциала b.

Вывод. Используя Simulink раздел SimPowersystem можно рассчитывать электронные линейные схемы на переменном токе. Можно вычислить ток в каждой из ветки, измерить напряжения в узлах. Используя связь графического интерфейса и Simulink, даёт возможность стремительно изменять характеристики схемы, не меняя характеристики в рабочем окне. В отдельном окне можно выстроить графики, которые дают приятное электронные фильтры

Задание

Произвести расчет режимов работы фильтра типа k по начальным данным [2]. Фильтр нижних частот собран по П-образной схеме рис.11. Ёмкость всякого конденсатора С, индуктивность катушки L. На входные зажимы фильтра подано напряжение при частоте f. К выходным зажимам фильтра подключено сопротивление, согласованное на данной частоте с характеристическим сопротивлением фильтра.

Набросок 11 -Начальный П образный фильтр

Схема является четырехполюсником. Схема собрана по П-образным фильтром нижних частот. Состоит из катушки индуктивности и 2-ух параллельных конденсаторов.

Для комфортного ввода и вывода можно применять интерфейс [6]. Юзеру предлагается вести в ячейки

E2- значение безупречного источника напряжения E1 вольт,

L1-

C1-

F-

F0-

Опосля этого надавить клавишу «Решить».

интерфейс представлен на рис.12, текст программки смотрите приложение В.

Набросок 12-Окно интерфейса

Схема в окне редактора [5] представлена на рис.13

Набросок 13 -Схема П-образного фильтра в окне редактора

Опосля пуска симуляции. В отдельном окне выводится таблица со значениями рис.14. В другом окне строится векторная диаграмма токов и напряжений рис.15.

Таблица 3 — Контрольные значения

25

0.001

2e-7

8000

20

Набросок 14-Значение тока в амперах, напряжение в вольтах, сопротивление в омах

Набросок 15-Векторная диаграмма токов и напряжений

Для проверки векторной диаграммы токов и потенциалов [4], довольно чтоб график ток совпадал с напряжением на сопротивление и отставал на девяносто градусов от выходного напряжения.

Чтоб изучить свойства П-образного фильтра [3], к примеру передаточные, комфортно пользоваться разделом SimRF подпункте Filtres. В этом подпункте находятся готовые модели фильтров с изменяемые параметрами:

Индуктивность катушки в генри,

Ёмкость для 2-ух конденсаторов в фарадах,

Спектр частот исходную частоту, шаг частоты и конечную частоту в герцах,

Входное сопротивление в омах,

Напряжение источника в вольтах.

Юзеру необходимо открыть вкладку блока Output Port избрать нужные свойства, к примеру характеристики S11, S12, S21, S22, предаточные функции.

Выбирая меж real и phase, можно выстроить АЧХ либо ФЧХ [3]. свойства представлены на рис.17, рис.18, рис.19, рис.20.

Исследования черт П-образного фильтра рис.16.

Набросок 16 -Схема П-образного фильтра в редакторе

Передаточная АЧХ RLC(R) цепи рис.17. Линия S12. На частоте от 0 до 8000Гц (единица частоты периодических процессов в Международной системе единиц СИ).

Набросок 17-Передаточное АЧХ

Передаточная АЧХ RLC(L) цепи рис.18. Линия S22. На частоте от 0 до 8000Гц (единица частоты периодических процессов в Международной системе единиц СИ).

Набросок 18-Передаточное АЧХ

Передаточная ФЧХ RLC(C) цепи рис.19. Линия S11. На частоте от 0 до 8000Гц (единица частоты периодических процессов в Международной системе единиц СИ).

Набросок 19-Передаточное ФЧХ

Передаточная ФЧХ RLC(R) цепи рис.20. Линия S12. На частоте от 0 до 8000Гц (единица частоты периодических процессов в Международной системе единиц СИ).

Набросок 20-Передаточное ФЧХ

Для подтверждения фильтра нижних частот, довольно чтоб при больших частотах

Вывод. Используя Simulink раздел SimPowersystem, SimRF можно рассчитывать фильтры и их свойства. Можно изучить придаточные свойства и строить векторные диаграммы токов и напряжений. Используя связь графического интерфейса и Simulink, даёт возможность стремительно изменять характеристики схемы, не меняя характеристики в рабочем окне. В отдельном окне можно выстроить графики, которые дают приятное электронный ток

Заключение

Использования пакет Simulink можно рассчитывать линейные цепи двухполюсников и четырёхполюсников. Данные приобретенные из Simulink могут быть применены для проверки, закрепление материала по предмету Базы Теории цепей. Можно наглядно узреть временем на определённой частоте.

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

Исследуя П-фильтр, задачка была в подтверждении, что этот фильтр является фильтром низких частот. Раздел simRF находятся модели фильтров с изменяющимися параметрами таковыми как: индуктивность, ёмкость, пределы частот измерения, входное сопротивление. Для реализации источника употреблял источник дискретного сигнала. Построив графики передаточных АЧХ и ФЧХ подтверждает, что фильтр низких частот.

Перечень литературы

1.Бадриев, И.Б., Разработка графического интерфейса в среде Matlab.Учебное пособие/ Бадриев, И.Б.-Казань: Казанский муниципальный институт, 2010. — 131 с.

2.Вепринцев, В.И., Базы теории цепей: Учеб. практикум/ В.И.Вепринцев. Красноярск: ИПЦ КГТУ, 2005. — 140 с.

3.Дьяконов, В.П. Matlab 6.5 SP1/7.0 Simulink 5/6 Обработка сигналов и проектирования фильтров. — СПБ.:Питер,2001. — 592 с.

4.Зернов, Н.В. Карпов, В.Г. Теория радиотехнических цепей: М.-Л., издательство «Энергия», 1965, — 892 стр.

5.Кетков Ю.Л., Кетков А.Ю., Шульц М.М. Matlab 7:программирование, численные способы. — СПБ.: БХВ-Петербург, 2005. — 752 с:ил.

6.Темных, И.В. Simulink:среда сотворения инженерных приложений / Под общ.

ред. к.т.н. В.Г.Потёмкина. — М.:ДИАЛОГ-МИФИ,2003. — 496с.

Приложения

приложение А

Текст программки лабораторной №1

Текст интерфейса реализованный способом uicontrol.

function interface

Заглавие функции.

global e e2 i i2 r r1 r2 r3 r4 a k

Перечень глобальных переменных.

f=figure(1);

Метка для окна.

set(f,’name’,’RGZ1′,’menubar’,’none’);

Характеристики фигуры.

axis off

Отключение оси.

t=text();

Присвоение текстовому полю меток.

t1=text();

t2=text();

t3=text();

t4=text();

t5=text();

t6=text();

t7=text();

t8=text();

t9=text();

t10=text();

t11=text();

t12=text();

t13=text();

set(t,’string’,’E1′,’BackgroundColor’,

[1 0 0],’FontSize’,16, ‘position’,

[-0.12,0.3-0.05]);

Присвоение текстовым объектам

set(t1,’string’,’E2′,’BackgroundColor’

,[1 0 0],’FontSize’,16,

‘position’, [0.2,0.3-0.05]);

set(t2,’string’,’I1′,’BackgroundColor’,

[0 0 1],’FontSize’,16,

‘position’, [0.52,0.3-0.05]);

set(t3,’string’,’I2′,’BackgroundColor’,[0 0 1],

‘FontSize’,16, ‘position’, [0.85,0.3-0.05]);

set(t4,’string’,’R1′,’BackgroundColor’,[0 1 0],

‘FontSize’,16, ‘position’, [-0.16,0.05]);

set(t5,’string’,’R2′,’BackgroundColor’,[0 1 0]

,’FontSize’,16, ‘position’, [0.12,0.05]);

set(t6,’string’,’R3′,’BackgroundColor’

,[0 1 0],’FontSize’,16, ‘position’,

[0.38,0.05]);

set(t7,’string’,’R4′,’BackgroundColor’,

[0 1 0],’FontSize’,16,

‘position’, [0.64,0.05]);

set(t8,’string’,’R5′,’BackgroundColor’

,[0 1 0],’FontSize’,16,

‘position’, [0.89,0.05]);

set(t9,’string’,’Возможная диаграмма

электронной цепи неизменного

тока‘,’BackgroundColor’,[1 1 1],

‘FontSize’,8, ‘position’, [0.05,1.07]);

set(t10,’string’,’Потенциал на

узлах (В)’,’

BackgroundColor’,[1 1 1],’FontSize’,8,

‘position’, [-0.05,0.6],’Rotation’,90);

set(t11,’string’,’Сопротивление

перегрузки (Ом)’,’BackgroundColor’,

[1 1 1],’FontSize’,8, ‘position’, [0.3,0.35]);

e=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’,

[0.05*2.2,0.30.05,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’0′);

Текстовые поля ввода.

e2=uicontrol(‘style’,’edit’,’units’

,’normalized’,’position’,

[0.16*2.2,0.30.05,0.1,0.1],

‘HorizontalAlignment’,’left’,

‘fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’0′);

i=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’,

[0.27*2.2,0.30.05,0.1,0.1],

‘HorizontalAlignment’,’left’,

‘fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’0′);

i2=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.38*2.2,0.3-0.05,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’

,[1 1 1],’string’ ,’0′);

r=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.05*1.2,0.1,0.1,0.1]

,’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’

,[1 1 1],’string’ ,’0′);

r1=uicontrol(‘style’,’edit’,’units’

,’normalized’,’position’, [0.16*1.8,0.1,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,

12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

r2=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.27*1.8,0.1,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,

‘BackgroundColor’,[1 1 1],’string’ ,’0′);

r3=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’,

[0.38*1.8,0.1,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,

‘BackgroundColor’,[1 1 1],’string’ ,’0′);

r4=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.49*1.8,0.1,0.1,0.1],’HorizontalAlignment’

,’left’,’fontsize’,12,

‘BackgroundColor’,[1 1 1],’string’ ,’0′);

k=uicontrol(‘style’,’pushbutton’,

‘units’,’normalized’,’callback’,’rg’,

‘position’,[0.35,0.01,0.3,0.08],’string’,’

Решить’,’BackgroundColor’,

[1 1 0],’FontSize’,16);

Присвоение клавиши «Решить» действие и пуск функции.

a=axes();

Присвоение метки оси

set(a,’outerposition’,[0.05 0.4

0.8 0.6],’Layer’,’top’,’XLIM’,

[0,90],’YLIM’,[-100 100],

‘XGrid’,’on’,’YGrid’,’on’);

Настройка характеристик оси.

set(t12,’string’,’rightarrow’,

‘FontSize’,8, ‘position’, [0.83,0.444]);

Вставка стрелок на оси.

set(t13,’string’,’uparrow’,

‘FontSize’,8, ‘position’, [0.021,1.05]);

grid on

Включение сетки.

текст программки, запускающийся опосля нажатия клавиши «Решить».

function rg

Заглавие функции.

global e e2 i i2 r r1 r2 r3 r4 fu k a

Глобальные переменные.

v=get(k,’value’);

Проверка действия нажатие клавиши.

t=1:1:9;

t=[];

if v==1

f1=get(e,’string’);

Считывание с текстовых полей.

f2=get(e2,’string’);

f3=get(i,’string’);

f4=get(i2,’string’);

f5=get(r,’string’);

f6=get(r1,’string’);

f7=get(r2,’string’);

f8=get(r3,’string’);

f9=get(r4,’string’);

f9=get(r4,’string’);

t(1)=str2num(f1);

t(2)=str2num(f2);

t(3)=str2num(f3);

t(4)=str2num(f4);

t(5)=str2num(f5);

t(6)=str2num(f6);

t(7)=str2num(f7);

t(8)=str2num(f8);

t(9)=str2num(f9);

end

c=figure();

Метка окна.

axis off

Отключение осей

o=text();

set(c,’name’,’RGZ1(Резултат)’,’menubar’,’none’);

Настройка окна.

set(o,’string’,’Итог’,’BackgroundColor’,

[1 0 0],’FontSize’,32, ‘position’, [0.4,0.8]);

open_system(‘RGZZ’);

Открытие файла модели.

set_param(‘RGZZ/EA’,’Amplitude’,num2str(t(1)));

Присвоение характеристик блоков модели согласовании с наименованиями.

set_param(‘RGZZ/EB’,’Amplitude’,num2str(t(2)));

set_param(‘RGZZ/IA’,’amplitude’,num2str(t(3)));

set_param(‘RGZZ/IB’,’amplitude’,num2str(t(4)));

set_param(‘RGZZ/RA’,’Resistance’,num2str(t(5)));

set_param(‘RGZZ/RB’,’Resistance’,num2str(t(6)));

set_param(‘RGZZ/RC’,’Resistance’,num2str(t(7)));

set_param(‘RGZZ/RD’,’Resistance’,num2str(t(8)));

set_param(‘RGZZ/RE’,’Resistance’,num2str(t(9)));

sim(‘RGZZ’);

Симуляция модели.

tab=uitable();

Включение таблицы.

rnames = {‘Сила тока(А)’};

Настройка таблицы.

cnames = {‘I1′,’I2′,’I3′,’I4′,’I5′,’I6’};

fer=num2str(izza.signals.values(1));

Перевод числа в строчку.

fer1=num2str(simout1.signals.values(1));

fer2=num2str(simout2.signals.values(1));

fer3=num2str(simout3.signals.values(1));

fer4=num2str(simout4.signals.values(1));

fer5=num2str(simout5.signals.values(1));

set(tab,’data’,[str2num(fer(1:5)),

str2num(fer1(1:5)),str2num(fer2(1:5)),

str2num(fer3(1:5)),str2num(fer4(1:5))

str2num(fer5(1:5))],

‘FontSize’,16,’Position’,[0 200 800 100],’RowName’,rnames,’ColumnName’,cnames);

Запись значений в таблицу.

figure(1)

plot([025 41 41 42 87],[0,simout6.signals.values(1),

simout7.signals.values(1),

simout8.signals.values(1),

uuz.signals.values(1),

uuz1.signals.values(1)]);

Построение диаграммы по данным симуляции.

set(a,’Layer’,’top’,’XLIM’,

[0,90],’YLIM’,[-100 100],

‘XGrid’,’on’,’YGrid’,’on’);

Настройка оси.

приложение Б

Текст программки лабораторной №2

Текст интерфейса, реализованный способом uicontrol.

function rgz2

Заглавие функции.

global e e2 i i2 r r1 a k f w p1 p2

Глобальные переменные.

ff=fopen(‘boff’,’r’);

Метка для бинарного файла.

[c,n]=fread(ff,inf,’uchar’);

Считывание с файла.

fclose(ff);

Закрытие файла.

fll=1;

Перевод текста из бинарного файла и присваивание его переменным.

for i=1:1:n/2

ff=fopen(‘boff’,’r’);

[c1,p]=fread(ff,i*2,’uchar’);

ss(fll:fll+1)=char(c1(end-1:end));

fll=fll+2;

c1=[];

end

fclose(ff);

f=figure(1);

Метка окна.

set(f,’name’,’RGZ2′,’menubar’,’none’);

Настройка окна.

axis off

Отключение оси

t=text();

Присвоение меток текстовым объектам.

t1=text();

t2=text();

t3=text();

t4=text();

t5=text();

t6=text();

t7=text();

t8=text();

t9=text();

t10=text();

t11=text();

t12=text();

t13=text();

t14=text();

set(t,’string’,ss(3:4),’BackgroundColor’,[1 0 0],

‘FontSize’,16, ‘position’, [-0.12,0.3-0.05]);

Присваивание текстовым объектам

set(t1,’string’,ss(5:6),’BackgroundColor’,

[1 0 0],’FontSize’,16,

‘position’, [0.2,0.3-0.05]);

set(t2,’string’,ss(7:8),’BackgroundColor’,

[0 0 1],’FontSize’,16, ‘position’,

[0.52,0.3-0.05]);

set(t3,’string’,ss(1:2),’BackgroundColor’,

[0 0 1],’FontSize’,16,

‘position’, [0.85,0.3-0.05]);

set(t4,’string’,ss(9:10),’BackgroundColor’,

[0 1 0],’FontSize’,16,

‘position’, [-0.16,0.05]);

set(t5,’string’,ss(11:12),’BackgroundColor’,

[0 1 0],’FontSize’,16,

‘position’, [0.04,0.05]);

set(t6,’string’,ss(15:16),’BackgroundColor’,

[0 1 0],’FontSize’,16,

‘position’, [0.25,0.05]);

set(t8,’string’,ss(19:20),’BackgroundColor’,

[0 1 0],’FontSize’,16,

‘position’, [0.59,0.05]);

set(t14,’string’,ss(21:22),’BackgroundColor’,

[0 1 0],’FontSize’,16, ‘position’, [0.78,0.05]);

set(t9,’string’,’Векторная диаграмма

токов’,’BackgroundColor’,

[1 1 1],’FontSize’,8, ‘position’, [0.05,1.07]);

set(t10,’string’,’Надуманная часть (В А*0,1)’,

‘BackgroundColor’,[1 1 1],’FontSize’,8,

‘position’, [-0.05,0.6],’Rotation’,90);

set(t11,’string’,’Действительная

часть(В А*0,1)’,’BackgroundColor’,

[1 1 1],’FontSize’,8, ‘position’, [0.3,0.35]);

e=uicontrol(‘style’,’edit’,’units’,’normalized’,

‘position’,

[0.05*2.2,0.3-0.05,0.1,0.1],

‘HorizontalAlignment’,’left’,

‘fontsize’,12,’BackgroundColor’

,[1 1 1],’string’ ,’12.7e-3′);

Создание текстовых полей ввода.

e2=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.16*2.2,0.3-0.05,0.1,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’47.8e-3′);

i=uicontrol(‘style’,’edit’,’units’,’normalized’,

‘position’, [0.27*2.2,0.3-0.05,0.1,0.1],

‘HorizontalAlignment’,’left’,

‘fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’31.9e-6′);

i2=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.38*2.2,0.3-0.05,0.1,0.1],’HorizontalAlignment’,’left’,’fontsize’,

12,’BackgroundColor’,[1 1 1],’string’ ,’25’);

r=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.05*1.2,0.1,0.1,0.1],’HorizontalAlignment’,

‘left’,’fontsize’,12,

‘BackgroundColor’,[1 1 1],’string’ ,’75’);

r1=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.12*1.8,0.1,0.09,0.1],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],

‘string’ ,’84.6′);

w=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.2*1.8,0.1,0.09,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’100′);

p1=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.36*1.8,0.1,0.09,0.1],’HorizontalAlignment’,

‘left’,’fontsize’,12,

‘BackgroundColor’,[1 1 1],’string’ ,’20’);

p2=uicontrol(‘style’,’edit’,’units’,

‘normalized’,’position’, [0.44*1.8,0.1,0.09,0.1],

‘HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,

[1 1 1],’string’ ,’-10′);

k=uicontrol(‘style’,’pushbutton’,’units’,

‘normalized’,’callback’,’rg’,’position’,

[0.35,0.01,0.3,0.08],’string’,ss(13:14),

‘BackgroundColor’,[1 1 0],’FontSize’,16);

Создание клавиши «Решить»

пуск функции.

a=axes();

Метка оси.

set(a,’outerposition’,[0.05 0.4 0.8 0.6],

‘Layer’,’top’,’XLIM’,[-20,20],’YLIM’,

[-20 ,20],’XGrid’,’on’,’YGrid’,’on’);

Настройка оси.

set(t12,’string’,’rightarrow’,’FontSize’,8,

‘position’, [0.83,0.444]);

Добавление стрелок к осям.

set(t13,’string’,’uparrow’,

‘FontSize’,8, ‘position’, [0.025,1.05]);

grid on

Включение сетки.

текст программки, запускающийся опосля нажатия клавиши «Решить».

function rg

Заглавие функции.

global e e2 i i2 r r1 r2 r3 r4 fu k a w p1 p2

Глобальные переменные

v=get(k,’value’);

Проверка действия нажатия клавиши

t=1:1:9;

t=[];

if v==1

f1=get(e,’string’);

Считывания данных с текстового поля.

f2=get(e2,’string’);

f3=get(i,’string’);

f4=get(i2,’string’);

f5=get(r,’string’);

f6=get(r1,’string’);

f8=get(w,’string’);

f10=get(p1,’string’);

f11=get(p2,’string’);

t(1)=str2num(f1);

t(2)=str2num(f2);

t(3)=str2num(f3);

t(4)=str2num(f4);

end

c=figure();

Метка окна.

axis off

Отключение оси.

f10(end+1:end+3)=’+90′;

Приписка 90 градусов для

Косинусоидального источника

f11(end+1:end+3)=’+90′;

open_system(‘rgz3’);

Открытие модели.

set_param(‘rgz3/l1′,’Inductance’,num2str(t(1)*0.001));

Присвоение значения блокам согласно их заглавий.

set_param(‘rgz3/l2′,’Inductance’,num2str(t(2)*0.001));

set_param(‘rgz3/l3′,’Capacitance’,num2str(t(3)*0.001));

set_param(‘rgz3/R1′,’Resistance’,num2str(t(4)));

set_param(‘rgz3/E1′,’Amplitude’,f5);

set_param(‘rgz3/E1′,’Frequency’,f8);

set_param(‘rgz3/E1′,’Phase’,f10);

set_param(‘rgz3/E2′,’amplitude’,f6);

set_param(‘rgz3/E1′,’Phase’,f11);

sim(‘rgz3’);

Симуляция модели.

tab=uitable();

Метка таблицы.

rnames = {‘Сила тока(А)’};

Настройка таблицы.

cnames = {‘I1′,’I2′,’I3’};

set(tab,’data’,[simout6(1);simout7(1);simout8(1)]’,

‘FontSize’,16,’Position’,[0 200 800 100],’RowName’,

rnames,’ColumnName’,cnames);

Запись значения в таблицу.

figure(1)

Открытия окна.

hold on

Наложение графиков.

plot([0,real(simout1(1))*0.2,-real(simout(1))*0.2],

[0,imag(simout1(1))*0.2,-imag(simout(1))*0.2],

‘—gs’,[0,real(simout3(1))*0.2,real(simout2(1))*0.2],

[0,imag(simout3(1))*0.2,imag(simout2(1))*0.2],

‘—bs’,[0,real(simout5(1))*0.2,real(simout4(1))*0.2],

[0,imag(simout5(1))*0.2,imag(simout4(1))*0.2],’—rs’);

Постройка векторной диаграммы, отделяя действительную и надуманную часть.

plot([0,real(simout6(1)*5)],[0,imag(simout6(1)*5)],

‘—g’,[0,real(simout7(1)*5)],[0,imag(simout7(1)*5)],

‘—y’,[0,real(simout8(1)*5)],

[0,imag(simout8(1)*5)],’-b’);

plot([-20,20],[0,0],’—ys’);

Полосы осей

plot([0,0],[-20,20],’—ys’);

axis([-20,20,-20,20]);

text(real(simout6(1)*5),imag(simout6(1)*5)+2.5,’I1′);

Подпись векторов.

text(real(simout7(1)*5),imag(simout7(1)*5)+2.5,’I2′);

text(real(simout8(1)*5),imag(simout8(1)*5)+2.5,’I3′);

grid on;

Включение сетки.

set(a,’Layer’,’top’,’XLIM’,[-20,20],’YLIM’,

[-20 20],’XGrid’,’on’,’YGrid’,’on’);

Настройка оси.

приложение В

Текст программки лабораторной №3

Текст интерфейса, реализованный способом uicontrol.

function interface

Заглавие функции.

global e e2 i i2 r r1 r2 r3 r4 a k

Глобальные переменые.

f=figure(1);

Метка окна.

set(f,’outerposition’,[500 400 600 100],

‘menubar’,’none’,’Resize’,’off’,’name’,’RGZ3′);

Опции окна.

axis off

Отключение осей.

t=text();

Метки текстовых объектов.

t1=text();

t2=text();

t3=text();

t4=text();

t5=text();

t6=text();

t7=text();

t8=text();

t9=text();

t10=text();

t11=text();

t12=text();

t13=text();

set(t4,’string’,’L1′,’BackgroundColor’,

[0 1 0],’FontSize’,16, ‘position’, [-0.16,0.8]);

Присваивание текстовым объектам параметра текст.

set(t5,’string’,’C1′,’BackgroundColor’,

[0 1 0],’FontSize’,16, ‘position’, [0.12,0.8]);

set(t6,’string’,’F’,’BackgroundColor’,[0 1 0],

‘FontSize’,16, ‘position’, [0.38,0.8]);

set(t7,’string’,’F0′,’BackgroundColor’,[0 1 0],

‘FontSize’,16, ‘position’, [0.64,0.8]);

set(t8,’string’,’E2′,’BackgroundColor’,[0 1 0],

‘FontSize’,16, ‘position’, [0.89,0.8]);

r=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.05*1.2,0.4,0.1,0.4],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

Создание текстовых полей ввода.

r1=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.16*1.8,0.4,0.1,0.4],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

r2=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.27*1.8,0.4,0.1,0.4],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

r3=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.38*1.8,0.4,0.1,0.4],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

r4=uicontrol(‘style’,’edit’,’units’,’normalized’,’position’, [0.49*1.8,0.4,0.1,0.4],’HorizontalAlignment’,

‘left’,’fontsize’,12,’BackgroundColor’,[1 1 1],’string’ ,’0′);

k=uicontrol(‘style’,’pushbutton’,’units’,’normalized’,

‘callback’,’rg’,’position’,[0.35,0.01,0.35,0.3],’string’,

‘Решить’,’BackgroundColor’,[1 1 0],’FontSize’,16);

Создание клавиши «Решить»

пуск функции.

текст программки, запускающийся опосля нажатия клавиши «Решить».

function rg

Заглавие функции.

global e e2 i2 r r1 r2 r3 r4 k a

Глобальные переменные.

v=get(k,’value’);

Проверка действия нажатии

клавиши.

t=1:1:9;

t=[];

if v==1

f5=get(r,’string’);

Считывание данных с текстовых полей.

f6=get(r1,’string’);

f7=get(r2,’string’);

f8=get(r3,’string’);

f9=get(r4,’string’);

f9=get(r4,’string’);

t(5)=str2num(f5);

t(6)=str2num(f6);

t(7)=str2num(f7);

t(8)=str2num(f8);

t(9)=str2num(f9);

end

c=figure();

Метка окна.

axis off

Отключение оси.

o=text();

Метка текстового объекта.

set(c,’name’,’RGZ3(Резултат)’,’menubar’,’none’);

Настройка окна.

set(o,’string’,’Итог’,’BackgroundColor’,

[1 0 0],’FontSize’,32, ‘position’, [0.4,0.8]);

Присвоение текстовому объекту

open_system(‘RGZ4’);

Открытие модели.

open_system(‘rrr’);

Открытие модели.

set_param(‘RGZ4/powergui’,’frequency’

,num2str(t(7)));

Присвоение значения блокам согласно их имён.

set_param(‘RGZ4/E’,’amplitude’,

num2str(t(9)));

set_param(‘rrr/sorce’,’amplitude’,num2str(t(9)));

set_param(‘RGZ4/l1′,’Inductance’,

num2str(t(5)));

set_param(‘RGZ4/c1′,’Capacitance’,

num2str(t(6)/2));

set_param(‘RGZ4/c2′,’Capacitance’,

num2str(t(6)/2));

set_param(‘RGZ4/E’,’Frequency’,

num2str(t(7)));

set_param(‘rrr/sorce’,’Frequency’,

num2str(t(7)));

set_param(‘RGZ4/E’,’Phase’,

num2str(t(8)+90));

set_param(‘rrr/sorce’,’Phase’,

num2str((t(8)+90)/(360/(2*pi))));

sim(‘RGZ4’);

Симуляция модели.

sim(‘rrr’);

Симуляция модели.

tab=uitable();

Метка таблицы.

rnames = {‘Сила тока(А)’};

Настройка таблицы.

cnames = {‘I1′,’I2′,’U’,’R’};

set(tab,’data’,[simout2(1),simout4(1),

simout(1),simout(1)/simout2(1)+1],

‘FontSize’,16,’Position’,[0 200 1000 100],

‘RowName’,rnames,

‘ColumnName’,cnames);

Наполнение таблицы.

c2=figure();

Метка окна.

set(c2,’name’,’RGZ3 Графики’);

Настройка окна.

clear i

aam=t(9)*exp(i*t(8));

plot([0,real(aam)],[0,imag(aam)],

[0,real(simout(1)/simout2(1)+1)],

[0,imag(simout(1)/simout2(1)+1)*0.01],

[0,real(simout2(1)*50)],[0,imag(simout2(1)*50)],

[0,real(simout(1))],[0,imag(simout(1))]);

Построение векторной диаграммы, отделяя надуманную и действительную часть.

grid on

Включение сетки.

title(‘Векторная диаграмма токов и потенциалов’);

Настройка оси.

xlabel(‘RE(U В I А*100)’);

ylabel(‘Im(U В I А*100)’);

legend(‘Uвх’,’Zвых’,’I’,’Uых’,1);


]]>