How can I access all values of type 'function_handle' from a dictionary in MATLAB R2022b?

29 次查看(过去 30 天)
此 个问题 已被 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?
 

采纳的回答

MathWorks Support Team
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 个)

类别

Help CenterFile Exchange 中查找有关 Dictionaries 的更多信息

产品


版本

尚未输入任何版本。

Community Treasure Hunt

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

Start Hunting!

Translated by