Make an iucontrol edit box into a number able to be done math on.
    3 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
"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 Kommentare
  Adam
      
      
 am 29 Apr. 2016
				lat = uicontrol('Style','edit','String...
Name that something else for a start.
Antworten (0)
Siehe auch
Kategorien
				Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

