GUI for basic operations in Boolean algebra
    5 views (last 30 days)
  
       Show older comments
    
    Virginia Radulescu
 on 9 Nov 2019
  
    
    
    
    
    Commented: Virginia Radulescu
 on 27 Nov 2019
            Hello,
I've tried to do a GUI for basic operations in Boolean algebra but it seems that I do something wrong when I do the type conversion.
The structure is simple, meaning that I have 2 editable controls for the data IN, a popup for the operations( NOT, OR, AND, XOR), a push button for result and a text control for displaying the result.
The function that makes the conversions is:
   function pushResult_Callback(hObject, eventdata, handles)
                    firstInput = evalin('base','firstInput');
                    secondInput = evalin('base','secondInput');
                    operation = evalin('base','operation');
                   if (operation == 1)
                            %  Operation1 --- NOT------------------
                             ans1=dec2bin(firstInput);
                             answer=bin2dec(~ans1);
                            set(handles.textResult_print,'String',answer);
                    .............................................................
The error that I'm getting is:
  Error using bin2dec (line 36)
            Input must be a character vector.
I don’t understand where do I ‘wrong.
Can anyone help me?
Thank you so much!
Virginia
3 Comments
  Adam
      
      
 on 12 Nov 2019
				Use breakpoints.  When you use something like evalin it's anyone's guess what is going to be magically parachuted into your function's workspace.  If you have editable controls for the data in why are you trying to access them from the base workspace rather than simply from those controls?
Accepted Answer
  David Fink
    
 on 27 Nov 2019
        
      Edited: David Fink
    
 on 27 Nov 2019
  
      Like Adam mentioned, you can set breakpoints to run your code one line at a time in order to find the problem.
Alternatively, using dbstop via the command below, then running your code will pause right at the line that's throwing the error, and you can look at variables to see what values are unexpected.
>> dbstop if error
More Answers (0)
See Also
Categories
				Find more on Debugging and Analysis in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


