Calling Upon previous anonymous function results for use in a second anonymous function
1 view (last 30 days)
Show older comments
I am plotting an anonymous function which produces values that I would like to use in plotting a second anonymous function. Is there anyway to store values of of the function obtained on the interval of the anonymous variable?
2 Comments
Accepted Answer
Star Strider
on 15 Jan 2018
Edited: Star Strider
on 15 Jan 2018
You can use one anonymous function (or any other function) is a second function. You simply have to call it as a function in the second function.
Try this:
Psat1 = ...; % Provide Value
Psat2 = ...; % Provide Value
P_x = @(x1) Psat2 + (Psat1 - Psat2)*x1; % First Anonymous Function
y = @(x1) x1.*Psat1./P_x(x1); % Second Anonymous Function
--------------------
EDIT —
This works for me:
Psat1 = rand;
Psat2 = rand;
P_x = @(x1) Psat2 + (Psat1 - Psat2).*x1; % First Anonymous Function
y1 = @(x1) x1.*Psat1./P_x(x1); % Second Anonymous Function
P_y = @(x1) Psat2 + (Psat1 - Psat2).*((y1(x1).*P_x(x1))./Psat1); % Third Anonymous Function
fplot(P_y,[0,1])
It is necessary to use Vectorization (link) in your functions when you combine them, so you do element-wise operations. (This will avoid warnings such as: ‘Function behaves unexpectedly on array inputs.’.)
0 Comments
More Answers (1)
Steven Lord
on 15 Jan 2018
You want y to be a function of x1 that uses the existing P_x function?
% Sample values for Psat1 and Psat2
Psat1 = 1;
Psat2 = 2;
P_x = @(x1) Psat2 + (Psat1 - Psat2)*x1;
fplot(P_x,[0,1])
y = @(x1) x1*Psat1/P_x(x1)
0 Comments
See Also
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!