を設定せずに関数呼び出しからの出力数を強制、私は明示的に、私は[out1,out2,...,outn] = ...
出力変数に任意の関数については
編集を期待していますどのように多くの出力を定義することによって返される変数を決定することができますよ出力の潜在的な#も
例の問題
次のコードが期待されているまさにん有用であろう(はい、それはと重複しています210)
[I,J] = ind2sub(size(myArray),IND)
myArray(I,J) = 1;
私が直接、関数の引数を渡すしようとすると、私は
myArray(ind2sub(size(myArray),IND)) = 1;
をwannt結果を得ることはありません、私はmyArray(I,J) = 1;
質問を望んでいたとき、私は効果的myArray(I) = 1;
を得る
出力変数が何個返されるかを指定するにはどうすればよいですか?明示的に私の出力引数を定義する?
eval()
ファミリまたは一部のタイプキャスティングでは一部の機能が期待されますが、[],{},(:), etc.
はそのトリックを行いますが、ドキュメントを見たり、動作させたりしていません。
ありがとうございます。なぜ、可変出力を備えた組み込み関数のための明示的な出力定義が必要なのかを強調しました。私は、変数割り当てなしで明示的な出力定義を可能にするインライン・ソリューションを望んでいました(つまり、 'eval( 'foo(...)、 "nargout"、2 ') ')しかし、私は誰かが存在するという証拠は見ていない。 –
@BrendanFrick私は混乱している。がある。それは '' {outputs {1:2}} =物 'です。 – Suever
あなたはそのインラインで呼び出すことができますか? 'foo1([outputs {1:2}] = foo2(...))' –