how to enter a vector in edit text, GUI

3 visualizaciones (últimos 30 días)
Dominika
Dominika el 7 de Jul. de 2014
Comentada: Robert Cumming el 8 de Jul. de 2014
Hi,
I want to enter a vector 1x18 into edit text in GUI, e.g:
0.03 0.02 0.01 0.02 0.01 0.01 0.02 0.01 0.04 0.03 0.02 0.01 0.01 0.02 0.02 0.01 0.01 0.1
So far I used to enter only single value. My current callback:
function edit40_Callback(hObject, eventdata, handles)
% hObject handle to edit40 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit40 as text
% str2double(get(hObject,'String')) returns contents of edit40 as a double
InString = get(hObject, 'String');
InString = strrep(InString, ',', '.');
eta_tot=str2double(InString);
set(handles.edit40, 'String', InString);
if isnan(eta_tot)
errordlg('You must enter a numeric value','Invalid Input','modal')
uicontrol(hObject)
return
else
end
if (eta_tot<0 | eta_tot>1)
errordlg('Value should range from 0 to 1','Invalid Input','modal')
uicontrol(hObject)
end
Thanks for any ideas,
Dominika

Respuestas (2)

Robert Cumming
Robert Cumming el 7 de Jul. de 2014
A few places to look:
help strread
help str2num
help textscan
There are many ways to do what your looking for.

Dominika
Dominika el 8 de Jul. de 2014
Editada: Dominika el 8 de Jul. de 2014
Thank you for your suggestions. I try with str2double:
function edit40_Callback(hObject, eventdata, handles)
% hObject handle to edit40 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit40 as text
% str2double(get(hObject,'String')) returns contents of edit40 as a double
InString = get(hObject, 'String');
display(InString)
eta_tot=str2double('InString');
celldisp(eta_tot)
I get an error while trying to display eta_tot:
InString =
'0.1 0.1'
Error using celldisp (line 15)
Must be a cell array.
Error in PROGRAM>edit40_Callback (line 1546)
celldisp(eta_tot)
  1 comentario
Robert Cumming
Robert Cumming el 8 de Jul. de 2014
debug your code to find out whats going wrong - you will learn more doing that that me highlighting the errors.
Try simple examples at the matlab commandline to understand how functions work.

Iniciar sesión para comentar.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by