Отчёт по лабораторной работе №4
«Создание пользовательского графического интерфейса в Matlab»
Выполнил Громов Е.А., ЭМ-22, Вариант 5.
1. В отчёт включить условия задач, таблицы описания графических элементов, вид экрана при работе графического интерфейса, тексты м-файлов программ вычислений, выводы по работе.
Задача 1
Определить плотность стержня в точке C, расположенной посередине стержня, по формуле где m1 - масса отрезка стержня, L0 , L1 - длины частей стержня.
Листинг программы:
h1=findobj(gcf,'tag','Edit1'); m=str2num(get(h1,'string'));
h2=findobj(gcf,'tag','Edit2'); L0=str2num(get(h2,'string'));
h3=findobj(gcf,'tag','Edit3'); L1=str2num(get(h3,'string'));
ro=m*L0/L1^2;
h4=findobj(gcf,'tag','Edit4');
set(h4,'string', num2str(ro)) ;
Скриншот окна программы:
Наименование элемента (Tag) |
Дескриптор элемента |
Свойство и значение |
Описание |
Edit1 |
h1 |
string |
В свойство помещается значение массы отрезка |
Edit2 |
h2 |
string |
В свойство помещается значение длины части стержня L0 |
Edit3 |
h3 |
string |
В свойство помещается значение длины части стержня L1 |
Edit4 |
h4 |
string |
В свойство помещается результат вычисления- плотность стержня в точке p |
Pushbutton1 |
Callback |
В свойство помещается имя файла, который запускается по нажатии кнопки |
Задача 2
Создать графический пользовательский интерфейс со следующими возможностями:
- интерактивный ввод начального, конечного значений и шага изменения аргумента функции;
- интерактивный ввод аналитического вида функции;
- вычисление первой производной заданной функции в аналитическом виде;
- по нажатии кнопки построение графика функции первой производной с нанесением надписей, координатной сетки и т.д.
Функция:
y = (x3-2)/15, -2*pi; 2*pi; pi/20.
Наименование элемента (Tag) |
Дескриптор элемента |
Свойство и значение |
Описание |
Edit4 |
h4 |
string |
В свойство помещается начальное значение интервала |
Edit5 |
h5 |
string |
В свойство помещается конечное значение интервала |
Edit6 |
h6 |
string |
В свойство помещается значение шага |
Edit7 |
h7 |
string |
В свойство помещается аналитический вид функции |
Edit8 |
h8 |
string |
В свойство помещается результат вычисления производной функции |
Axes1 |
В свойство помещается график заданной функции |
||
Pushbutton1 |
Callback |
В свойство помещается имя файла, который запускается по нажатии кнопки |
Листинг программы:
syms st
% Получение аналитически заданной функции
h7=findobj(gcf,'tag','edit7'); st=get(h7,'string');
% Нахождение производной
h8=findobj(gcf,'tag','edit8');
set(h8,'string', char(diff(st)));
h4=findobj(gcf,'tag','edit4');
stval=str2num(get(h4,'string'));
h5=findobj(gcf,'tag','edit5');
endval=str2num(get(h5,'string'));
h6=findobj(gcf,'tag','edit6');
step=str2num(get(h6,'string'));
X=stval:step:endval;
Y=inline(st);
fplot(Y,[stval endval]);
Скриншот окна программы:
Вывод: в ходе данной лабораторной работы я освоил основы построения графического интерфейса расчётных программ, отладку программ с GUI и преобразование символьных выражений в строковые и наоборот.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.