
- •1!Ошибка в формулеРисунок 1 - Исходная электрическая схема
- •2Рисунок 2 -Окно интерфейса
- •3Рисунок 3- Схема в окне редактора
- •4Рисунок 4- Результат токов в амперах.
- •5Рисунок 5- Потенциальная диаграмма
- •6Рисунок 6 - Исходная электрическая схема
- •8Рисунок 8 - Схема в окне редактора
- •9Рисунок 9 -Значение токов в амперах
- •10Рисунок 10–Диаграмма токов и напряжений
- •11Рисунок 11 -Исходный п образный фильтр
- •12Рисунок 12-Окно интерфейса
- •13Рисунок 13 -Схема п-образного фильтра в окне редактора
- •14Рисунок 14-Значение тока в амперах, напряжение в вольтах, сопротивление в омах
- •15Рисунок 15-Векторная диаграмма токов и напряжений
- •17Рисунок 17-Передаточное ачх
17Рисунок 17-Передаточное ачх
Передаточная АЧХ RLC(L) цепи рис.18. Линия S22. На частоте от 0 до 8000Гц.
Рисунок 18Рисунок 18-Передаточное АЧХ
Передаточная ФЧХ RLC(C) цепи рис.19. Линия S11. На частоте от 0 до 8000Гц.
Рисунок 19Рисунок 19-Передаточное ФЧХ
Передаточная ФЧХ RLC(R) цепи рис.20. Линия S12. На частоте от 0 до 8000Гц.
РРисунок 20исунок 20-Передаточное ФЧХ
Для доказательства фильтра нижних частот, достаточно чтобы при высоких частотах значение по АЧХ или ФЧХ ниже полосы пропускания [4].
Вывод. Используя Simulink раздел SimPowersystem, SimRFможно рассчитывать фильтры и их характеристики. Можно исследовать придаточные характеристики и строить векторные диаграммы токов и напряжений. Используя связь графического интерфейса и Simulink , даёт возможность быстро изменять параметры схемы, не меняя параметры в рабочем окне. В отдельном окне можно построить графики, которые дают наглядное представление характеристик П-фильтров и доказывают их принадлежность к фильтрам низких частот.
Заключение
Использования пакет Simulinkможно рассчитывать линейные цепи двухполюсников и четырёхполюсников. Данные полученные изSimulinkмогут быть использованы для проверки, закрепление материала по предмету Основы Теории цепей. Можно наглядно увидеть значение величин в данной работе это ток и напряжение. Как они изменяются со временем на определённой частоте.
Измеряя цепь на постоянном токе в разделе Simpowersystem, опираясь на Теорию цепей можно проверить, токи по первому закону Кирхгофа, и по диаграмме потенциалов. Для этого нужно снять показания с узлов, напряжения с элементов. Оно делается автоматически в блокеMultimetr. В цепи с переменным током появились дополнительные параметры. Катушка индуктивности, конденсатор, частота источника, начальная фаза источника. Результат выводится в комплексном виде. Комплексную форму применима в построение векторной диаграммы токов и напряжений, которая показывает изменения векторов тока за один период.
Исследуя П-фильтр, задача была в доказательстве, что этот фильтр является фильтром низких частот. Раздел simRFнаходятся модели фильтров с изменяющимися параметрами такими как: индуктивность, ёмкость, пределы частот измерения, входное сопротивление. Для реализации источника использовал источник дискретного сигнала. Построив графики передаточных
АЧХ и ФЧХ подтверждает, что фильтр низких частот.
Список литературы
1.Бадриев, И.Б., Разработка графического интерфейса в среде Matlab.Учебное пособие/ Бадриев, И.Б.-Казань: Казанский государственный университет,2010.131 с.
2.Вепринцев, В.И., Основы теории цепей: Учеб. практикум/ В.И.Вепринцев. Красноярск: ИПЦ КГТУ, 2005. 140с.
3.Дьяконов, В.П. Matlab6.5SP1/7.0Simulink5/6 Обработка сигналов и проектирования фильтров. –СПБ.:Питер,2001.-592 с.:ил
4.Зернов, Н.В. Карпов, В.Г. Теория радиотехнических цепей: М.-Л., издательство «Энергия»,1965, 892 стр. с рис.
5.Кетков Ю.Л., Кетков А.Ю., Шульц М.М. Matlab7:программирование, численные методы.-СПБ.: БХВ-Петербург, 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); |