function[]=VivodArgumentovNaEkran(VectorArg,hObject, eventdata, handles);
x=VectorArg(1);
y=VectorArg(2);
z=VectorArg(3);
S=sprintf('%g',x);
set(handles.edit1,'String',S);
S=sprintf('%g',y);
set(handles.edit2,'String',S);
S=sprintf('%g',z);
set(handles.edit3,'String',S);
Функция uigetfile подготавливает данные об открываемом файле для чтения. При этом открывается окно выбора, где определяется имя файла и путь к нему. Эти данные являются возвращаемыми значениями для функции uigetfile. Получив их, объединяем их в одну переменную OtkudaChitat. Затем открываем файл. После открытия файла, считываем интересующие нас данные из файла в переменные с соответствующими названиями.
% --- Executes on button press in pushbutton5. OPEN DATA
function pushbutton5_Callback(hObject, eventdata, handles)
%OPEN FILE RT
[f,p]=uigetfile('C:\MATLAB701\work\exGuide_1Res*.txt','Окно выбора');
OtkudaChitat=strcat(p,f);
f=fopen(OtkudaChitat,'rt');
%chitat is faila
for i=1:3
VectorRes(i)=fscanf(f,'%g',1);
end
for i=1:3
VectorArg(i)=fscanf(f,'%g',1);
end
fclose(f);
%vivod na ekran
VivodRes(VectorRes,hObject, eventdata, handles);
VivodArgumentovNaEkran(VectorArg,hObject, eventdata, handles);
Необходимо теперь вывести значения этих переменных в соответствующие окошки текстового вывода в интерфейсе. Для этого используем функцию VivodRes и ранее не использовавшуюся функцию VivodArgumentovNaEkran, которую необходимо описать выше описания кнопки.
|
|
Открыть график и данные из файла. Открытие данных, необходимых для построения графика, из файла осуществляется кнопкой Open Data & Plot.
% --- Executes on button press in pushbutton6. OPEN DATA & PLOT
function pushbutton6_Callback(hObject, eventdata, handles)
%otkrit grafic is faila
[f,p]=uigetfile('C:\MATLAB701\work\exGuide_1Graf*.txt','Окно выбора');
OtkudaChitat=strcat(p,f);
f=fopen(OtkudaChitat,'rt');
%chitat is faila
NumberSteps=fscanf(f,'%d',1);
for i=1:NumberSteps+1
horis(i)=fscanf(f,'%g',1);
end
for i=1:NumberSteps+1
vert(i)=fscanf(f,'%g',1);
end
for i=1:3
VectorArg(i)=fscanf(f,'%g',1);
end
NumFun=fscanf(f,'%g',1);
NumArg=fscanf(f,'%g',1);
fclose(f);
%stroim grafic
plot(horis,vert,'o-');
set(gca,'XGrid','on');
set(gca,'YGrid','on');
%vivod na ekran
VivodArgumentovNaEkran(VectorArg,hObject, eventdata, handles);
S=sprintf('%g',NumFun);
set(handles.edit7,'String',S);
S=sprintf('%g',NumArg);
set(handles.edit11,'String',S);
В соответствующем ей тексте программы логика действий примерно такая же как и при открытии результатов вычислений из файла. После получения всех необходимых данных из файла, осуществляется построение графика. Кроме того, выводятся данные об исходных аргументах и, кроме того, о номере функции и номере аргумента, для которых построен график. При желании можно также доработать это упражнение и выполнить подписи к осям графика в соответствии с названиями аргументов и функций.
Пример 1. Рассмотрим упражнение по созданию простейшего интерфейса и функций, исполняемых по нажатиям на кнопки (Рис.1.67) и обеспечивающих:
· Считывание исходных аргументов;
· Вычисление новых значений (формулы для этого даются в условии);
· Вывод на экран результатов (вычисленных новых значений).