Storing Function Handles in structure

조회 수: 13 (최근 30일)
KieranSQ
KieranSQ 2020년 2월 11일
답변: Stephen23 2020년 2월 12일
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