2

私はmatlabでコードを書いています。このコードには、関数f()を呼び出す関数g()を呼び出す関数がありますh()

関数は101回繰り返されるループでf()呼び出し、を呼び出します。 反復ごとに画像が表示され、ユーザーはまたはキーを押すまで画像にいくつかの変更を加えます。g()forg()h()
h()EnterO

  • を押すEnter h()と、彼が行った変更のファイルが返され、次の画像に進みます。
  • を押すとOh()変更のファイルが返されます。ただし、次の画像には進みません。代わりに、に戻りますMain

exit(1)Cのようです。

どのように私はそれを行うことができますか?

4

1 に答える 1

6

を探していると思いますreturn。すぐに h に戻るわけではありませんがreturn、g もどこかに入力する必要があります。

関数宣言で少なくとも 1 つの出力変数を指定する限り、使用するかどうかに関係なく、出力が返されますreturn

例えば:

function out = f()
    % do stuff
    x = g();
    % do stuff with x
end


function out = g()
    % do other stuff
    out = h();
    if strcmp(out, 'O') % check whether user entered 'O' in h()
        return;
    else
        % do different stuff
    end
end

function out = h()
    out = input();
end
于 2012-05-29T23:08:26.593 に答える