Assigning a function with multiple outputs to a structure

I have a function which has three outputs:
[krW, krO, krG] = relPerm3PH(sw, sg, varargin)
I also have a structure which contains the following fields:
fluid.krW
fluid.krO
fluid.krG
I am wondering if it is possible/how I can call my function to within the structure in order to calculate the specific (only one) outputs?

3 个评论

[fluid.krW, fluid.krO, fluid.krG] = relPerm3PG(...) should work? Is there a reason this is not what you want?
Thanks! I have just had the biggest memory block and that didn't even cross my mind.
The reason I have not done this is because for what I am wanting to do/have done for the rest of my properties is the following and I was wanting to know if there was a way to do this with multiple outputs.
fluid.muO = @(po,varargin)evalOilVis(po, varargin{:});
I'm unclear now on exactly what you're trying to do. The way that is written indicates that fluid.mu0 would be a function handle. Is that intended?
The object, as a function handle, can still have multiple outputs. Then fluid.mu0(x,vars) would returns multiple outputs.
Perhaps you could elaborate some more on what you are trying to do?

请先登录,再进行评论。

回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

评论:

jgg
2015-12-10

Community Treasure Hunt

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

Start Hunting!

Translated by