Storing Function Handles in structure

9 次查看(过去 30 天)
Hello,
I am trying to write a code such that I have a class of anonymous functions to which to call.
I would like to store them in some form of a dictionary, for example A.w1.pq = @(x,y,z) [x,y,z]. I would like to call these functions and extract the function and not neccessarily a numeric value. By this I mean if I call
a=A.w1.pq;
a(1) = @(x,y,z) x
Is there a way of doing this?
Any help would be appreciated.
  2 个评论
Adam Danz
Adam Danz 2020-2-11
This line below is extracting (or copying) the function.
a=A.w1.pq;
KieranSQ
KieranSQ 2020-2-12
I agree that this extracts the function vector. However, what I am ideally looking for is extracting the individual vector component as a function. I.e,
>> a=A.w1.pq;
%%%% Output
a(1) = @(x,y,z) x
a(2) = @(x,y,z) y
a(3) = @(x,y,z) z

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2020-2-12
>> fun = @(x,y,z) [x,y,z];
>> baz = @(n,v) v(n); % helper function
>> a = @(n) @(x,y,z)baz(n,fun(x,y,z));
Testing:
>> f = a(1); % f is a function handle!
>> f(5,6,7)
ans = 5
>> f = a(3); % f is a function handle!
>> f(5,6,7)
ans = 7

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by