I am writing a piece of code for a 2 phase oil and water reservoir simulation. Assume I have a structure called fluid, in which there are several functions for parameteres for each phase, appropriately named:
fluid.muO @(p) %(oil viscosity as a function of pressure) fluid.muW @(p) %(water viscosity as a function of pressure)
If I want to make a general function in which the phase is an input parameter, how do I use this string to call the function above? I tried:
phase = 'O' eval = strcat('fluid.mu',phase)
Where to go from here I do not know, but I wish to use the variable phase to call fluid.muO and fluid.muW. Is it even possible?
fluid.muO=@(p) p.^2+1; fluid.muW=@(p) cos(p)+2*sin(p); phase = 'O'; name = strcat('fluid.mu',phase);%['fluid.mu',phase] f=eval(name); f([0 1 3])