How can I access all values of type 'function_handle' from a dictionary in MATLAB R2022b?
    5 views (last 30 days)
  
       Show older comments
    
    MathWorks Support Team
    
 on 14 Oct 2024
  
    
    
    
    
    Answered: MathWorks Support Team
    
 on 16 Oct 2024
            
				
				This question was flagged by Walter Roberson
      
      
				
			
			
		I have defined a dictionary with they keys as strings and values as function handles as follows:
>> dict = configureDictionary("string","function_handle");
>> dict("a") = @(a) a;
>> dict("b") = @(b) b;
When I try to access all values in the dictionary, it throws the following error:
>> dictVals = dict.values;
Unable to combine entry parts.
How can I retrieve all values of the dictionary?
 
Accepted Answer
  MathWorks Support Team
    
 on 14 Oct 2024
        MATLAB does not support grouping function handles as a traditional matrix or array but provides the option of clubbing multiple function handles together as a cell array. More information on this can be found under the “Arrays of Function Handles” subsection in the documentation. 
Additionally, when looking at the code provided, a possible workaround is to retrieve the dictionary values as a cell array. Please consider the following code:
>> dict = configureDictionary(“string”, “function_handle”);
>> dict(“a”) = @(a) a;
>> dict(“b”) = @(b) b;
>> dictVals = dict.values(“cell”); % This should return a cell array of function handles. 
For further information on how to refer to dictionary values as a cell array, please refer to the following documentation:
0 Comments
More Answers (0)
See Also
Categories
				Find more on Data Type Identification in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!