IdzP2
.doc
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра САУ
отчет
по индивидуальному домашнему заданию П2
по дисциплине «Математические Пакеты в инженерных и технических расчетах»
Вариант 12 "Мозаика"
Студент гр. 5492 |
|
Логинов А.А. |
Преподаватель |
|
Филатова Е.С. |
Санкт-Петербург
2018
Выполнение задания:
Создание пользовательского интерфейса.
Код каждого поля интерфейса:
2.1 Поле "Password":
function edit3_Callback(hObject, eventdata, handles)
global password;
password = get(hObject,'String');
password = char(password);
if (length(password) == length('Pass'))
if (password == 'Pass')
set(handles.pushbutton1,'Enable','on')
set(handles.edit1,'Enable','on')
set(handles.edit3,'Enable','on')
else
warndlg('Wrong password.','Wrong password.')
end
else
warndlg('Wrong password.','Wrong password.')
end
2.2 Код для поля "Number of iterations":
function edit1_Callback(hObject, eventdata, handles)
global N;
N = get(hObject,'String');
N = str2num(N);
Код для кнопки "Build":
function pushbutton1_Callback(hObject, eventdata, handles)
global N;
global axiom;
if N==0
errordlg('The number entered is 0.','Warning zero')
elseif N>15
errordlg('The number of iterations is more than 15. Drawing of a fractal would take too much time.','Warning more then 15')
elseif N>0 && N<16
cla
axiom = P1(N);
end
Код для скрипта СloseFunc
global N;
global axiom;
switch questdlg('Save variables or clear them?', ...
'Close', ...
'Save', 'Clear', 'Clear');
case 'Save'
save vars N axiom;
closereq
case 'Clear'
clear global N;
clear global axiom;
clear ButtonName;
closereq
end
Работа программы
3.1. Ввод неверного пароля:
3.2. Ввод верного пароля:
3.3. Построение фрактала: 0 итераций
3.4. Построение фрактала: 16 итераций
3.5. Построение фрактала: 3 итерации
3.6. Закрытие окна
3.7. Выбор кнопки "Save"
Переменные записываются в файл с расширением .mat и сохраняются в Workspace
3.8. Выбор кнопки Очистить