/ /他の関数で定義されている関数にランダムな整数を呼び出す - matlab、function

他の関数で定義されている関数にランダムな整数を呼び出す - matlab、function

私は2つの機能がある場合:

//function 1
function [tp] = Calculate_T_P();

//body of function 1
// here I define U, which is a random integer between 0 and 15
U = randi([15])
// say U is generated to be e.g., 5

今度は、forループの2番目の関数で1番目の関数で生成された同じU(つまり5)の値を使用します。

//function 2
function [sp] = Calculate_S_P();

//Body of function 2
for b=0:U
// body of for loop
end

誰が私にこれをどのように達成できるのか教えてもらえますか?ありがとう!

回答:

回答№1の場合は3

これは、これら2つの機能をどのように使用するかによって異なります。

オプション1

パス U 2番目の関数にパラメータとして渡し、最初の2番目の出力にします。

function [tp, U] = Calculate_T_P();

//body of function 1
// here I define U, which is a random integer between 0 and 15
U = randi([15])

そして

//function 2
function [sp] = Calculate_S_P(U);
//Body of function 2
for b=0:U
// body of for loop
end

だからあなたは今このように呼んでいます:

[tp, U] = Calculate_T_P()
Calculate_S_P(U)

オプション2

これはおそらく、より良い選択肢であり、それは合格することです U 両方の関数に組み込み、開始時にそれを正しく計算します。

function [tp] = Calculate_T_P(U);

%//body of function 1, no longer define U here

そして

//function 2
function [sp] = Calculate_S_P(U);
//Body of function 2
for b=0:U
// body of for loop
end

あなたのプログラムは次のようになります

U = randi(15)
tp = Calculate_T_P(U)
sp = Calculate_S_P(U)