Рис.1.66.Окно выбора папки и файла перед открытием

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) и обеспечивающих:

· Считывание исходных аргументов;

· Вычисление новых значений (формулы для этого даются в условии);

· Вывод на экран результатов (вычисленных новых значений).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: