Calling Upon previous anonymous function results for use in a second anonymous function
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 15 Gen 2018
Modificato: Star Strider
il 15 Gen 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 Commenti
Più risposte (1)
Steven Lord
il 15 Gen 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 Commenti
Vedere anche
Categorie
Scopri di più su Function Creation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!