Passing a function value to another function

1 回表示 (過去 30 日間)
PR
PR 2015 年 2 月 27 日
コメント済み: PR 2015 年 3 月 1 日
To whom it may concern:
I am aware that there is documentation to support this question, I haven't been able to implement a simple solution that isn't beyond my abilities. I have a function that calculates the fluid height inside a reservoir. I would like to pass this value to another function where I define the fluid height as a constant. I need to keep two seperate function files, actualise_level and intialise_level. What might you suggest? Thanks
FIRST FUNCTION:
function [ reservoir ] = actualise_level( reservoir, vol_in, vol_out)
constants;
reservoir(VOLUME) = VOLUME + (vol_in - vol_out) * DT
if reservoir(VOLUME) < 0
reservoir(VOLUME) = reservoir(VOLUME) + abs(min(reservoir(VOLUME)))
end
x = sqrt(4*BASE_INF^2*HEIGHT^2+8*(((BASE_SUP-BASE_INF)*HEIGHT*VOLUME)./LENGTH)) y = 2*HEIGHT*BASE_INF
if x >= y
h1 = (x-y)./(2*(BASE_SUP-BASE_INF)) %h1 is the fluid level as calculated
else error('No solution')
end
end
SECOND FUNCTION:
function [ reservoir ] = initialise_reservoir()
constants;
reservoir = zeros(1,NB_PARAMETERS_RESERV);
reservoir(BASE_INF) = 5; reservoir(BASE_SUP) = 7.5; reservoir(HEIGHT) = 25; reservoir(LENGTH) = 5; reservoir(VOLUME) = 350; reservoir(LEVEL) = h1? %this is where I would like to pass the value in
reservoir = [reservoir(BASE_INF) reservoir(BASE_SUP) reservoir(HEIGHT) ... reservoir(LENGTH) reservoir(VOLUME) reservoir(LEVEL)];
end
  3 件のコメント
PR
PR 2015 年 2 月 28 日
Good suggestion. However, I have assignment constraints that prevent me from creating structures. I'd really like to be able to call up the result from one function and attribute the result to a constant in the other.
Image Analyst
Image Analyst 2015 年 2 月 28 日
I tagged it as homework for you.

サインインしてコメントする。

回答 (1 件)

Rick Rosson
Rick Rosson 2015 年 2 月 27 日
You could write a script that calls each of the functions one or more times in the desired sequence, passing the output of one function as the input to the other function.
  3 件のコメント
Rick Rosson
Rick Rosson 2015 年 2 月 28 日
That's exactly what I am suggesting. Maybe you should try it before you simply reject it as inadequate.
PR
PR 2015 年 3 月 1 日
I will give it a try. Much obliged

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by