Intermediate calculation in function handle

1 view (last 30 days)
Hi
I would like to know if it is possible to make intermediate calculation in a function handle.
For example, making something like this functional :
@(x) y=1+1; x+y;
This function handle would return me 3 for example for x=1. y is thus an intermediate variable of a calculation inside the function handle.
Is there a way to do it ?
Thanks

Accepted Answer

the cyclist
the cyclist on 31 Oct 2018
I don't really understand what you want to do. I'm guessing you deliberately chose the simplest possible example, and that what you really want to do is more complicated. But since your example is trivially
@(x) x + 2
I can't quite get what you really need.
Maybe you mean something like this?
y = @(z) z + 1; % The intermediate function?
f = @(x,g) x + g; % The final function
f(1,y(1)) % Calling syntax
  1 Comment
StarBucK
StarBucK on 1 Nov 2018
Indeed my problem was more general but i found a solution by writing it differently. But at least now I know that anonymous functions can indeed just have a single expression inside and we have to do tricks to make intermediate calculations. Thanks

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!