Storing Function Handles in structure

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 日

1 投票

>> 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 件)

カテゴリ

ヘルプ センター および File ExchangeWorkspace Variables and MAT Files についてさらに検索

質問済み:

2020 年 2 月 11 日

回答済み:

2020 年 2 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by