Рис.1.69. Ввод массивов данных и построение графика

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

S=sprintf('%g',1);

set(handles.edit2,'String',S);

S=sprintf('%g',1);

set(handles.edit3,'String',S);

end

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

S=sprintf('%g',1);

set(handles.edit2,'String',S);

S=sprintf('%g',2);

set(handles.edit3,'String',S);

end

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

S=sprintf('%g',1);

set(handles.edit2,'String',S);

S=sprintf('%g',3);

set(handles.edit3,'String',S);

end

Опишем, что происходит после нажатия на кнопку ввода нового элемента в серии экспериментальных данных. Это кнопка pushbutton4.

% Executes on button press in pushbutton4. INPUT NEW DATA

function pushbutton4_Callback(hObject, eventdata, handles)

Number=str2double(get(handles.edit2,'String'));

NumberString=str2double(get(handles.edit3,'String'));

if NumberString==1

Matrix=str2num(get(handles.edit4,'String'));

Matrix(Number)=str2double(get(handles.edit1,'String'));

S=mat2str(Matrix);

set(handles.edit4,'String',S);

end

if NumberString==2

Matrix=str2num(get(handles.edit5,'String'));

Matrix(Number)=str2double(get(handles.edit1,'String'));

S=mat2str(Matrix);

set(handles.edit5,'String',S);

end

if NumberString==3

Matrix=str2num(get(handles.edit6,'String')); 

Matrix(Number)=str2double(get(handles.edit1,'String'));

S=mat2str(Matrix);

set(handles.edit6,'String',S);

end

S=sprintf('%g',Number+1);

set(handles.edit2,'String',S);

S=sprintf('%s',' ');

set(handles.edit1,'String',S);

end

Сначала считываются из соответствующих окошек интерфейса номер элемента и номер серии данных, затем, в зависимости от их значений, выбирается соответствующий набор данных в строке в окне интерфейса, считывается функцией str2num преобразующей строку символов в вектор чисел.

После этого считывается новый вводимый элемент данных из соответствующего ему окна интерфейса и добавляется к вектору данных. Потом вектор числовых значений преобразуется функцией mat2str в строку символов. Затем эта строка помещается в соответствующее ей окно интерфейса.

Опишем, что происходит после нажатия на кнопку построения графика. Это кнопка pushbutton5.

% --- Executes on button press in pushbutton5.GRAPHIC  

function pushbutton5_Callback(hObject, eventdata, handles)

x1=str2num(get(handles.edit4,'String'));

x2=str2num(get(handles.edit5,'String'));

y=str2num(get(handles.edit6,'String')); 

plot(x1,y,'k-',x2,y,'ro');

title('Fazovoe ravnovesie P.ZH.R. aceton-metanol (1 atm)');

xlabel('Molnie doli acetona v zhidkosti (-) i pare (o)');

ylabel('T, C');

grid on;

end

 Считываются строки данных из соответствующих окон интерфейса, преобразуются функцией str2num в векторы чисел. После этого строится функцией plot график. Выводятся подписи к нему и функцией grid on накладывается сетка.

Пример 4. Ввести экспериментальные данные и построить графики к ним. Создадим (Рис.1.70) интерфейс, аналогичный предыдущему заданию.


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



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