Make an iucontrol edit box into a number able to be done math on.
2 ビュー (過去 30 日間)
古いコメントを表示
"lat" should be a double and should be able to be subtracted from 90. How do I make "lat" a double and able to be done math on?
lat = uicontrol('Style','edit','String','0','position',[250 630 100 20],'Callback',(@h_lat));
uicontrol('Style','pushbutton','String','Evaluate','Position',[130,550,100,50],'Callback',{@Evaluate},'BackgroundColor','green');
function h_lat(hObject, eventdata, handles)%#ok
lat = str2double(get(hObject,'String'));
handles = guidata(hObject);
guidata(hObject, setfield(handles,'lat',lat));%#ok
function Evaluate(hObject, eventdata, handles)
handles = guidata(hObject);
lat = handles.lat;
disp(lat);
Theta=(90-lat)*pi/180;
Output:
UIControl (0) with properties:
Style: 'edit'
String: '0'
BackgroundColor: [0.9400 0.9400 0.9400]
Callback: @h_lat
Value: 0
Position: [250 630 100 20]
Units: 'pixels'
Show all properties
Undefined function 'minus' for input arguments of type 'matlab.ui.control.UIControl'.
Error in MagneticFieldFromLonLat>Evaluate (line 64)
Theta=(90-lat)*pi/180;
Error while evaluating UIControl Callback
3 件のコメント
Adam
2016 年 4 月 29 日
lat = uicontrol('Style','edit','String...
Name that something else for a start.
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!