1

私が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

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

4

1 に答える 1

3

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

オプション1

2 番目の関数にパラメーターとして渡しU、最初の関数の 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)
于 2013-09-12T13:41:46.310 に答える