ベクトルを関数呼び出しにスプライスしたいが、これを行う方法が見つからない。出来ますか?Matlab ---関数呼び出しの引数にベクトルをスプライス
私が意味するところでは、n
のベクトルx
と、n
という引数をとる関数f
があります。私はf(x)
またはf(splice(x))
のようなものを呼び出すことによってf(x(1), x(2), ..., x(n))
に電話したいと思っています。ベクトルの代わりにx
がセル配列だった場合は、f(x{:})
を呼び出すと目的の結果が得られます。 x
がベクターである場合に相当するものがあることは妥当と思われます。
私が紛失しているオペレータや機能がほしいと思っています。 y = num2cell(x)
のあとにf(y{:})
と呼ぶことができますが、これは私が探しているものではありません。すでにコメントで
tmp = num2cell(x)
f(tmp{:})
を述べ
'x(:)'は動作しませんか?あるいは、列ベクトルの場合は 'x(:) 'を使います。 – Thor
'num2cell'ルートはあなたが探しているものです。 – Jonas
@Jonas Fairは、その解決策が簡単であるという点で十分です。しかし、私は一時的な変数を指定しなければならないというのはちょっとばかげていると思います(したがって、変数の内容を余分な時間にコピーする必要があります)。なぜこの機能はセル配列には存在しますが、おそらくより一般的な数値配列(つまり、「matlab」の「mat」)には存在しませんか?とにかく、それが私が求めていた理由です:それはちょうどサポートされている可能性が高い機能のように思えましたが、何とかしていなかったのです。 – zroth